mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
build: merge everything to a single top-level Makefile
Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
This commit is contained in:
4
src/asm/.gitignore
vendored
4
src/asm/.gitignore
vendored
@@ -1,5 +1,3 @@
|
||||
# executable
|
||||
rgbasm
|
||||
|
||||
asmy.c
|
||||
asmy.h
|
||||
asmy.y
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
obj := \
|
||||
alloca.o \
|
||||
asmy.o \
|
||||
fstack.o \
|
||||
globlex.o \
|
||||
lexer.o \
|
||||
main.o \
|
||||
math.o \
|
||||
output.o \
|
||||
rpn.o \
|
||||
symbol.o \
|
||||
gameboy/locallex.o
|
||||
|
||||
all: rgbasm
|
||||
|
||||
clean:
|
||||
rm -rf rgbasm $(obj) asmy.y asmy.c asmy.h
|
||||
|
||||
rgbasm: $(obj)
|
||||
gcc -Wall -o $@ $^ -lm
|
||||
|
||||
.c.o:
|
||||
gcc -Wall -DGAMEBOY -I../../include -Igameboy -g -c -o $@ $<
|
||||
|
||||
.y.c:
|
||||
bison -d -o $@ $^
|
||||
|
||||
asmy.y: yaccprt1.y gameboy/yaccprt2.y yaccprt3.y gameboy/yaccprt4.y
|
||||
cat $^ > $@
|
||||
@@ -1,143 +0,0 @@
|
||||
/* GB Z80 instruction groups
|
||||
|
||||
n3 = 3-bit
|
||||
n = 8-bit
|
||||
nn = 16-bit
|
||||
|
||||
*ADC A,n : 0xCE
|
||||
*ADC A,r : 0x88|r
|
||||
*ADD A,n : 0xC6
|
||||
*ADD A,r : 0x80|r
|
||||
*ADD HL,ss : 0x09|(ss<<4)
|
||||
*ADD SP,n : 0xE8
|
||||
*AND A,n : 0xE6
|
||||
*AND A,r : 0xA0|r
|
||||
*BIT n3,r : 0xCB 0x40|(n3<<3)|r
|
||||
*CALL cc,nn : 0xC4|(cc<<3)
|
||||
*CALL nn : 0xCD
|
||||
*CCF : 0x3F
|
||||
*CP A,n : 0xFE
|
||||
*CP A,r : 0xB8|r
|
||||
*CPL : 0x2F
|
||||
*DAA : 0x27
|
||||
*DEC r : 0x05|(r<<3)
|
||||
*DEC ss : 0x0B|(ss<<4)
|
||||
*DI : 0xF3
|
||||
*EI : 0xFB
|
||||
*EX HL,(SP) : 0xE3
|
||||
*HALT : 0x76
|
||||
*INC r : 0x04|(r<<3)
|
||||
*INC ss : 0x03|(ss<<4)
|
||||
*JP (HL) : 0xE9
|
||||
*JP cc,nn : 0xC2|(cc<<3)
|
||||
*JP nn : 0xC3|(cc<<3)
|
||||
*JR n : 0x18
|
||||
*JR cc,n : 0x20|(cc<<3)
|
||||
*LD (nn),SP : 0x08
|
||||
*LD ($FF00+C),A : 0xE2
|
||||
*LD ($FF00+n),A : 0xE0
|
||||
*LD (nn),A : 0xEA
|
||||
*LD (rr),A : 0x02|(rr<<4)
|
||||
*LD A,($FF00+C) : 0xF2
|
||||
*LD A,($FF00+n) : 0xF0
|
||||
*LD A,(nn) : 0xFA
|
||||
*LD A,(rr) : 0x0A|(rr<<4)
|
||||
*LD HL,(SP+n) : 0xF8
|
||||
*LD SP,HL : 0xF9
|
||||
*LD r,n : 0x06|(r<<3)
|
||||
*LD r,r' : 0x40|(r<<3)|r' // NOTE: LD (HL),(HL) not allowed
|
||||
*LD ss,nn : 0x01|(ss<<4)
|
||||
*NOP : 0x00
|
||||
*OR A,n : 0xF6
|
||||
*OR A,r : 0xB0|r
|
||||
*POP tt : 0xC1|(tt<<4)
|
||||
*PUSH tt : 0xC5|(tt<<4)
|
||||
*RES n3,r : 0xCB 0x80|(n3<<3)|r
|
||||
*RET : 0xC9
|
||||
*RET cc : 0xC0|(cc<<3)
|
||||
*RETI : 0xD9
|
||||
*RL r : 0xCB 0x10|r
|
||||
*RLA : 0x17
|
||||
*RLC r : 0xCB 0x00|r
|
||||
*RLCA : 0x07
|
||||
*RR r : 0xCB 0x18|r
|
||||
*RRA : 0x1F
|
||||
*RRC r : 0xCB 0x08|r
|
||||
*RRCA : 0x0F
|
||||
*RST n : 0xC7|n
|
||||
*SBC A,n : 0xDE
|
||||
*SBC A,r : 0x98|r
|
||||
*SCF : 0x37
|
||||
*SET n3,r : 0xCB 0xC0|(n8<<3)|r
|
||||
*SLA r : 0xCB 0x20|r
|
||||
*SRA r : 0xCB 0x28|r
|
||||
*SRL r : 0xCB 0x38|r
|
||||
*STOP : 0x10
|
||||
*SUB A,n : 0xD6
|
||||
*SUB A,r : 0x90|r
|
||||
*SWAP r : 0xCB 0x30|r
|
||||
*XOR A,n : 0xEE
|
||||
*XOR A,r : 0xA8|r
|
||||
|
||||
*/
|
||||
|
||||
#define MAXSECTIONSIZE 0x4000
|
||||
|
||||
#define ASM_DEFAULT_ENDIAN ASM_LITTLE_ENDIAN
|
||||
|
||||
#define APPNAME "RGBAsm"
|
||||
#define EXENAME "rgbasm"
|
||||
|
||||
#define NAME_DB "db"
|
||||
#define NAME_DW "dw"
|
||||
#define NAME_RB "rb"
|
||||
#define NAME_RW "rw"
|
||||
|
||||
/* "r" defs */
|
||||
|
||||
enum {
|
||||
REG_B = 0,
|
||||
REG_C,
|
||||
REG_D,
|
||||
REG_E,
|
||||
REG_H,
|
||||
REG_L,
|
||||
REG_HL_IND,
|
||||
REG_A
|
||||
};
|
||||
|
||||
/* "rr" defs */
|
||||
|
||||
enum {
|
||||
REG_BC_IND = 0,
|
||||
REG_DE_IND,
|
||||
REG_HL_INDINC,
|
||||
REG_HL_INDDEC,
|
||||
};
|
||||
|
||||
/* "ss" defs */
|
||||
|
||||
enum {
|
||||
REG_BC = 0,
|
||||
REG_DE,
|
||||
REG_HL,
|
||||
REG_SP
|
||||
};
|
||||
|
||||
/* "tt" defs */
|
||||
|
||||
/*
|
||||
#define REG_BC 0
|
||||
#define REG_DE 1
|
||||
#define REG_HL 2
|
||||
*/
|
||||
#define REG_AF 3
|
||||
|
||||
/* "cc" defs */
|
||||
|
||||
enum {
|
||||
CC_NZ = 0,
|
||||
CC_Z,
|
||||
CC_NC,
|
||||
CC_C
|
||||
};
|
||||
2
src/lib/.gitignore
vendored
2
src/lib/.gitignore
vendored
@@ -1,2 +0,0 @@
|
||||
# executable
|
||||
xlib
|
||||
@@ -1,12 +0,0 @@
|
||||
obj := library.o main.o
|
||||
|
||||
all: xlib
|
||||
|
||||
clean:
|
||||
rm -rf xlib $(obj)
|
||||
|
||||
xlib: $(obj)
|
||||
gcc -Wall -o $@ $^
|
||||
|
||||
.c.o:
|
||||
gcc -Wall -I../../include -g -c -o $@ $<
|
||||
2
src/link/.gitignore
vendored
2
src/link/.gitignore
vendored
@@ -1,2 +0,0 @@
|
||||
# executable
|
||||
xlink
|
||||
@@ -1,21 +0,0 @@
|
||||
obj := \
|
||||
assign.o \
|
||||
library.o \
|
||||
main.o \
|
||||
mapfile.o \
|
||||
object.o \
|
||||
output.o \
|
||||
patch.o \
|
||||
symbol.o
|
||||
|
||||
all: xlink
|
||||
|
||||
clean:
|
||||
rm -rf xlink $(obj)
|
||||
|
||||
xlink: $(obj)
|
||||
gcc -Wall -o $@ $^
|
||||
|
||||
.c.o:
|
||||
gcc -Wall -I../../include -g -c -o $@ $<
|
||||
|
||||
2
src/rgbfix/.gitignore
vendored
2
src/rgbfix/.gitignore
vendored
@@ -1,2 +0,0 @@
|
||||
# executable
|
||||
rgbfix
|
||||
@@ -1,13 +0,0 @@
|
||||
obj := \
|
||||
main.o
|
||||
|
||||
all: rgbfix
|
||||
|
||||
clean:
|
||||
rm -rf rgbfix $(obj)
|
||||
|
||||
rgbfix: $(obj)
|
||||
gcc -Wall -o $@ $^
|
||||
|
||||
.c.o:
|
||||
gcc -Wall -I../../include -g -c -o $@ $<
|
||||
Reference in New Issue
Block a user