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.
-\r
-/dosdemo.vcxproj.user\r
+/dosdemo.vcxproj.user
+*.dep
+*.DEP
+*.cof
+*.COF
+*.dja
+*.DJA
src = $(wildcard src/*.c) $(wildcard src/dos/*.c)
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)
bin = demo.exe
ifeq ($(findstring COMMAND.COM, $(SHELL)), COMMAND.COM)
CC = $(TOOLPREFIX)gcc
AR = $(TOOLPREFIX)ar
CFLAGS = -pedantic -Wall -march=pentium $(dbg) $(opt) $(inc)
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)
$(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) >$@
ifeq ($(hostsys), dos)
clean:
ifeq ($(hostsys), dos)
clean:
- del src\*.o
- del src\dos\*.o
+ del src\*.cof
+ del src\dos\*.cof
- del src\*.d
- del src\dos\*.d
+ del src\*.dep
+ del src\dos\*.dep
else
clean:
rm -f $(obj) $(bin)
else
clean:
rm -f $(obj) $(bin)
$(wildcard zlib/*.c) \
$(wildcard libpng/*.c) \
$(wildcard jpeglib/*.c)
$(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
ifeq ($(findstring COMMAND.COM, $(SHELL)), COMMAND.COM)
hostsys = dos
$(alib): $(obj)
$(AR) rcs $@ $(obj)
$(alib): $(obj)
$(AR) rcs $@ $(obj)
+%.cof: %.c
+ $(CC) $(CFLAGS) -o $@ -c $<
+
.PHONY: clean
ifeq ($(hostsys), dos)
clean:
.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
csrc = $(wildcard src/*.c)
csrc = $(wildcard src/*.c)
opt = -O3 -ffast-math
#dbg = -g
opt = -O3 -ffast-math
#dbg = -g
$(alib): $(obj)
$(AR) rcs $@ $(obj)
$(alib): $(obj)
$(AR) rcs $@ $(obj)
+%.cof: %.c
+ $(CC) $(CFLAGS) -o $@ -c $<
+
.PHONY: clean
ifeq ($(hostsys), dos)
clean:
.PHONY: clean
ifeq ($(hostsys), dos)
clean: