build files (.cof instead of .o, .dep instead of .d, and .dja instead of
.a), to make it possible to build both the linux and the dos version in
the same directory without conflict.
*.CFG
*.cfg
*.$$$
-\r
-/dosdemo.vcxproj.user\r
+/dosdemo.vcxproj.user
+*.dep
+*.DEP
+*.cof
+*.COF
+*.dja
+*.DJA
src = $(wildcard src/*.c) $(wildcard src/dos/*.c)
-obj = $(src:.c=.o)
-dep = $(obj:.o=.d)
+obj = $(src:.c=.cof)
+dep = $(obj:.cof=.dep)
bin = demo.exe
ifeq ($(findstring COMMAND.COM, $(SHELL)), COMMAND.COM)
CC = $(TOOLPREFIX)gcc
AR = $(TOOLPREFIX)ar
CFLAGS = -pedantic -Wall -march=pentium $(dbg) $(opt) $(inc)
-LDFLAGS = libs/imago/imago.a libs/oldmik/mikmod.a
+LDFLAGS = libs/imago/imago.dja libs/oldmik/mikmod.dja
$(bin): $(obj) imago mikmod
$(CC) -o $@ -Wl,-Map=ld.map $(obj) $(LDFLAGS)
-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:
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)
$(wildcard zlib/*.c) \
$(wildcard libpng/*.c) \
$(wildcard jpeglib/*.c)
-obj = $(src:.c=.o)
-alib = imago.a
+obj = $(src:.c=.cof)
+alib = imago.dja
ifeq ($(findstring COMMAND.COM, $(SHELL)), COMMAND.COM)
hostsys = dos
$(alib): $(obj)
$(AR) rcs $@ $(obj)
+%.cof: %.c
+ $(CC) $(CFLAGS) -o $@ -c $<
+
.PHONY: clean
ifeq ($(hostsys), dos)
clean:
- del src\*.o
- del zlib\*.o
- del libpng\*.o
- del jpeglib\*.o
+ del src\*.cof
+ del zlib\*.cof
+ del libpng\*.cof
+ del jpeglib\*.cof
del $(alib)
else
clean:
csrc = $(wildcard src/*.c)
-obj = $(csrc:.c=.o)
+obj = $(csrc:.c=.cof)
-alib = mikmod.a
+alib = mikmod.dja
opt = -O3 -ffast-math
#dbg = -g
$(alib): $(obj)
$(AR) rcs $@ $(obj)
+%.cof: %.c
+ $(CC) $(CFLAGS) -o $@ -c $<
+
.PHONY: clean
ifeq ($(hostsys), dos)
clean:
- del src\*.o
+ del src\*.cof
del $(alib)
else
clean: