src = $(wildcard src/*.c) $(wildcard src/dos/*.c)
-obj = $(src:.c=.o)
-dep = $(obj:.o=.d)
+asmsrc = $(wildcard src/*.asm)
+obj = $(src:.c=.cof)
+dep = $(obj:.cof=.dep)
bin = demo.exe
ifeq ($(findstring COMMAND.COM, $(SHELL)), COMMAND.COM)
TOOLPREFIX = i586-pc-msdosdjgpp-
endif
-inc = -Isrc -Isrc/dos -Ilibs/imago/src -Ilibs/oldmik/src
+inc = -Isrc -Isrc/dos -Ilibs/imago/src -Ilibs/mikmod/include
opt = -O3 -ffast-math
dbg = -g
CC = $(TOOLPREFIX)gcc
AR = $(TOOLPREFIX)ar
-CFLAGS = -pedantic -Wall $(dbg) $(opt) $(inc)
-LDFLAGS = libs/imago/imago.a libs/oldmik/mikmod.a
+CFLAGS = -pedantic -Wall -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:
.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)