From f81bcc722a9a4d335068e1f122f51b8b188ace40 Mon Sep 17 00:00:00 2001 From: Vegard Nossum Date: Thu, 11 Jun 2009 10:08:32 +0200 Subject: [PATCH] build: merge everything to a single top-level Makefile Signed-off-by: Vegard Nossum --- .gitignore | 6 +++ Makefile | 65 ++++++++++++++++++++++--- {src => include}/asm/gameboy/localasm.h | 0 src/asm/.gitignore | 4 +- src/asm/Makefile | 29 ----------- src/lib/.gitignore | 2 - src/lib/Makefile | 12 ----- src/link/.gitignore | 2 - src/link/Makefile | 21 -------- src/rgbfix/.gitignore | 2 - src/rgbfix/Makefile | 13 ----- 11 files changed, 64 insertions(+), 92 deletions(-) rename {src => include}/asm/gameboy/localasm.h (100%) delete mode 100644 src/asm/Makefile delete mode 100644 src/lib/.gitignore delete mode 100644 src/lib/Makefile delete mode 100644 src/link/.gitignore delete mode 100644 src/link/Makefile delete mode 100644 src/rgbfix/.gitignore delete mode 100644 src/rgbfix/Makefile diff --git a/.gitignore b/.gitignore index a802f9e5..6f8a4ea6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,9 @@ +# programs +rgbasm +rgbfix +xlib +xlink + *.o # indent backup files diff --git a/Makefile b/Makefile index 86f8fc8c..3b359110 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,60 @@ all: - make -C src/asm rgbasm - make -C src/lib xlib - make -C src/link xlink - make -C src/rgbfix rgbfix + +rgbasm_obj := \ + src/asm/alloca.o \ + src/asm/asmy.o \ + src/asm/fstack.o \ + src/asm/globlex.o \ + src/asm/lexer.o \ + src/asm/main.o \ + src/asm/math.o \ + src/asm/output.o \ + src/asm/rpn.o \ + src/asm/symbol.o \ + src/asm/gameboy/locallex.o + +xlib_obj := \ + src/lib/library.o \ + src/lib/main.o + +xlink_obj := \ + src/link/assign.o \ + src/link/library.o \ + src/link/main.o \ + src/link/mapfile.o \ + src/link/object.o \ + src/link/output.o \ + src/link/patch.o \ + src/link/symbol.o + +rgbfix_obj := \ + src/rgbfix/main.o + +all: rgbasm xlib xlink rgbfix clean: - make -C src/asm clean - make -C src/lib clean - make -C src/link clean - make -C src/rgbfix clean + rm -rf rgbasm $(rgbasm_obj) + rm -rf xlib $(xlib_obj) + rm -rf xlink $(xlink_obj) + rm -rf rgbfix $(rgbfix_obj) + +rgbasm: $(rgbasm_obj) + gcc -Wall -o $@ $^ -lm + +xlib: $(xlib_obj) + gcc -Wall -o $@ $^ + +xlink: $(xlink_obj) + gcc -Wall -o $@ $^ + +rgbfix: $(rgbfix_obj) + gcc -Wall -o $@ $^ + +.c.o: + gcc -Wall -DGAMEBOY -Iinclude -Iinclude/asm/gameboy -g -c -o $@ $< + +.y.c: + bison -d -o $@ $^ + +src/asm/asmy.y: src/asm/yaccprt1.y src/asm/gameboy/yaccprt2.y src/asm/yaccprt3.y src/asm/gameboy/yaccprt4.y + cat $^ > $@ diff --git a/src/asm/gameboy/localasm.h b/include/asm/gameboy/localasm.h similarity index 100% rename from src/asm/gameboy/localasm.h rename to include/asm/gameboy/localasm.h diff --git a/src/asm/.gitignore b/src/asm/.gitignore index d27175fe..da241a7f 100644 --- a/src/asm/.gitignore +++ b/src/asm/.gitignore @@ -1,5 +1,3 @@ -# executable -rgbasm - +asmy.c asmy.h asmy.y diff --git a/src/asm/Makefile b/src/asm/Makefile deleted file mode 100644 index 4b921328..00000000 --- a/src/asm/Makefile +++ /dev/null @@ -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 $^ > $@ diff --git a/src/lib/.gitignore b/src/lib/.gitignore deleted file mode 100644 index dec46411..00000000 --- a/src/lib/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# executable -xlib diff --git a/src/lib/Makefile b/src/lib/Makefile deleted file mode 100644 index a741f377..00000000 --- a/src/lib/Makefile +++ /dev/null @@ -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 $@ $< diff --git a/src/link/.gitignore b/src/link/.gitignore deleted file mode 100644 index 3a9e8984..00000000 --- a/src/link/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# executable -xlink diff --git a/src/link/Makefile b/src/link/Makefile deleted file mode 100644 index 6e9e56f3..00000000 --- a/src/link/Makefile +++ /dev/null @@ -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 $@ $< - diff --git a/src/rgbfix/.gitignore b/src/rgbfix/.gitignore deleted file mode 100644 index 3ba34d68..00000000 --- a/src/rgbfix/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# executable -rgbfix diff --git a/src/rgbfix/Makefile b/src/rgbfix/Makefile deleted file mode 100644 index aa9362bb..00000000 --- a/src/rgbfix/Makefile +++ /dev/null @@ -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 $@ $<