backported from rtxon: check_clip_poly (needed for new BSP code)
[dosdemo] / Makefile.dj
index ed1a830..2088717 100644 (file)
@@ -1,6 +1,7 @@
 src = $(wildcard src/*.c) $(wildcard src/dos/*.c)
-obj = $(src:.c=.o)
-dep = $(obj:.o=.d)
+asmsrc = $(wildcard src/*.asm) $(wildcard src/dos/*.asm)
+obj = $(src:.c=.cof) $(asmsrc:.asm=.cof)
+dep = $(obj:.cof=.dep)
 bin = demo.exe
 
 ifeq ($(findstring COMMAND.COM, $(SHELL)), COMMAND.COM)
@@ -10,22 +11,29 @@ else
        TOOLPREFIX = i586-pc-msdosdjgpp-
 endif
 
-inc = -Isrc -Isrc/dos -Ilibs/imago/src -Ilibs/oldmik/src
-opt = -O3 -ffast-math
+inc = -Isrc -Isrc/dos -Ilibs/imago/src -Ilibs/mikmod/include
+opt = -O3 -ffast-math -fno-strict-aliasing
 dbg = -g
+warn = -pedantic -Wall -Wno-unused-function -Wno-unused-variable
 
 CC = $(TOOLPREFIX)gcc
 AR = $(TOOLPREFIX)ar
-CFLAGS = -pedantic -Wall -march=pentium $(dbg) $(opt) $(inc)
-LDFLAGS = libs/imago/imago.a libs/oldmik/mikmod.a
+CFLAGS = $(warn) -march=pentium $(dbg) $(opt) $(inc)
+LDFLAGS = libs/imago/imago.dja libs/mikmod/dos/libmikmod.a
 
 $(bin): $(obj) imago mikmod
        $(CC) -o $@ -Wl,-Map=ld.map $(obj) $(LDFLAGS)
 
+%.cof: %.asm
+       nasm -f coff -o $@ $<
+
 -include $(dep)
 
-%.d: %.c
-       @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
+%.cof: %.c
+       $(CC) $(CFLAGS) -o $@ -c $<
+
+%.dep: %.c
+       @$(CPP) $(CFLAGS) $< -MM -MT $(@:.dep=.cof) >$@
 
 .PHONY: imago
 imago:
@@ -33,25 +41,25 @@ imago:
 
 .PHONY: mikmod
 mikmod:
-       $(MAKE) -C libs/oldmik -f Makefile.dj
+       $(MAKE) -C libs/mikmod/dos -f Makefile.dj
 
 .PHONY: cleanlibs
 cleanlibs:
        $(MAKE) -C libs/imago -f Makefile.dj clean
-       $(MAKE) -C libs/oldmik -f Makefile.dj clean
+       $(MAKE) -C libs/mikmod/dos -f Makefile.dj clean
 
 .PHONY: clean
 .PHONY: cleandep
 
 ifeq ($(hostsys), dos)
 clean:
-       del src\*.o
-       del src\dos\*.o
+       del src\*.cof
+       del src\dos\*.cof
        del $(bin)
 
 cleandep:
-       del src\*.d
-       del src\dos\*.d
+       del src\*.dep
+       del src\dos\*.dep
 else
 clean:
        rm -f $(obj) $(bin)