X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=GNUmakefile;h=0054bbc2c86e53b047f870f01708a5acc9bb719a;hp=1ee0a1e166ec04c3424f440073292f29f6e14186;hb=refs%2Fheads%2Feradbackport;hpb=4b1cef5f03023a4977c1a0dd0e7464fd4cc1044c diff --git a/GNUmakefile b/GNUmakefile index 1ee0a1e..0054bbc 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,39 +1,73 @@ -src = $(wildcard src/*.c) $(wildcard src/scr/*.c) $(wildcard src/sdl/*.c) +src = $(wildcard src/*.c) $(wildcard src/3dgfx/*.c) $(wildcard src/scr/*.c) \ + $(wildcard src/glut/*.c) +asmsrc = $(wildcard src/*.asm) obj = $(src:.c=.o) $(asmsrc:.asm=.o) dep = $(obj:.o=.d) bin = demo -asmsrc += font.asm +asmsrc += cspr/dbgfont.asm cspr/confont.asm +bindata = data/loading.img -inc = -I/usr/local/include -Isrc -Isrc/scr -Isrc/sdl -Ilibs -Ilibs/imago/src -Ilibs/mikmod/include +inc = -I/usr/local/include -Isrc -Isrc/3dgfx -Isrc/scr -Isrc/glut -Ilibs \ + -Ilibs/imago/src -Ilibs/mikmod/include +def = -DMINIGLUT_USE_LIBC -DMIKMOD_STATIC warn = -pedantic -Wall -Wno-unused-variable -Wno-unused-function +#opt = -O3 -ffast-math +dbg = -g -CFLAGS = $(arch) $(warn) -g $(inc) `sdl-config --cflags` -LDFLAGS = $(arch) -Llibs/imago -Llibs/mikmod -limago -lmikmod $(sdl_ldflags) -lm +CFLAGS = $(arch) $(warn) -MMD $(opt) -fno-pie -fno-strict-aliasing $(dbg) $(inc) +LDFLAGS = $(arch) -no-pie -Llibs/imago -Llibs/mikmod -limago -lmikmod \ + $(sndlib_$(sys)) -lm -ifneq ($(shell uname -m), i386) +cpu ?= $(shell uname -m | sed 's/i.86/i386/') + +ifeq ($(cpu), x86_64) arch = -m32 - sdl_ldflags = -L/usr/lib/i386-linux-gnu -lSDL +endif + +sys ?= $(shell uname -s | sed 's/MINGW.*/mingw/; s/IRIX.*/IRIX/') +ifeq ($(sys), mingw) + obj = $(src:.c=.w32.o) + + bin = demo_win32.exe + + LDFLAGS += -static-libgcc -lmingw32 -mconsole -lgdi32 -lwinmm \ + -lopengl32 else - sdl_ldflags = `sdl-config --libs` + LDFLAGS += -lGL -lX11 -lpthread endif +sndlib_Linux = -lasound +sndlib_IRIX = -laudio +sndlib_mingw = -ldsound + +.PHONY: all +all: data $(bin) + $(bin): $(obj) imago mikmod $(CC) -o $@ $(obj) $(LDFLAGS) +-include $(dep) + %.o: %.asm nasm -f elf -o $@ $< --include $(dep) +%.w32.o: %.c + $(CC) -o $@ $(CFLAGS) -c $< -%.d: %.c - @echo dep $@ - @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@ +src/data.o: src/data.asm $(bindata) + +.PHONY: libs +libs: imago anim mikmod .PHONY: imago imago: $(MAKE) -C libs/imago +.PHONY: anim +anim: + $(MAKE) -C libs/anim + .PHONY: mikmod mikmod: $(MAKE) -C libs/mikmod @@ -41,6 +75,7 @@ mikmod: .PHONY: cleanlibs cleanlibs: $(MAKE) -C libs/imago clean + $(MAKE) -C libs/anim clean $(MAKE) -C libs/mikmod clean .PHONY: clean @@ -51,8 +86,11 @@ clean: cleandep: rm -f $(dep) -tools/csprite/csprite: - $(MAKE) -C tools/csprite +.PHONY: data +data: + @tools/procdata + -font.asm: data/font.png tools/csprite/csprite - tools/csprite/csprite -n font -s 16x16 -r 288x32+32+17 -conv565 -nasm $< >$@ +.PHONY: crosswin +crosswin: + $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw