X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=GNUmakefile;h=1ee0a1e166ec04c3424f440073292f29f6e14186;hp=972046b786bbfbfd07ddbb991bf2af0d8772864f;hb=4b1cef5f03023a4977c1a0dd0e7464fd4cc1044c;hpb=cdbe434bf280e1b0b22d800c3383239842d96be2 diff --git a/GNUmakefile b/GNUmakefile index 972046b..1ee0a1e 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,19 +1,58 @@ -src = $(wildcard src/*.c) $(wildcard src/sdl/*.c) -obj = $(src:.c=.o) +src = $(wildcard src/*.c) $(wildcard src/scr/*.c) $(wildcard src/sdl/*.c) +obj = $(src:.c=.o) $(asmsrc:.asm=.o) +dep = $(obj:.o=.d) bin = demo -inc = -Isrc -Isrc/sdl -Ilibs/imago/src +asmsrc += font.asm -CFLAGS = -pedantic -Wall -g $(inc) `sdl-config --cflags` -LDFLAGS = -Llibs/imago -limago `sdl-config --libs` -lm +inc = -I/usr/local/include -Isrc -Isrc/scr -Isrc/sdl -Ilibs -Ilibs/imago/src -Ilibs/mikmod/include +warn = -pedantic -Wall -Wno-unused-variable -Wno-unused-function -$(bin): $(obj) imago +CFLAGS = $(arch) $(warn) -g $(inc) `sdl-config --cflags` +LDFLAGS = $(arch) -Llibs/imago -Llibs/mikmod -limago -lmikmod $(sdl_ldflags) -lm + +ifneq ($(shell uname -m), i386) + arch = -m32 + sdl_ldflags = -L/usr/lib/i386-linux-gnu -lSDL +else + sdl_ldflags = `sdl-config --libs` +endif + +$(bin): $(obj) imago mikmod $(CC) -o $@ $(obj) $(LDFLAGS) +%.o: %.asm + nasm -f elf -o $@ $< + +-include $(dep) + +%.d: %.c + @echo dep $@ + @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@ + .PHONY: imago imago: $(MAKE) -C libs/imago +.PHONY: mikmod +mikmod: + $(MAKE) -C libs/mikmod + +.PHONY: cleanlibs +cleanlibs: + $(MAKE) -C libs/imago clean + $(MAKE) -C libs/mikmod clean + .PHONY: clean clean: rm -f $(obj) $(bin) + +.PHONY: cleandep +cleandep: + rm -f $(dep) + +tools/csprite/csprite: + $(MAKE) -C tools/csprite + +font.asm: data/font.png tools/csprite/csprite + tools/csprite/csprite -n font -s 16x16 -r 288x32+32+17 -conv565 -nasm $< >$@