src = $(wildcard src/*.c) ssrc = $(wildcard src/*.s) asmsrc = $(wildcard src/*.asm) obj = $(src:.c=.o) $(ssrc:.s=.o) $(asmsrc:.asm=.o) dep = $(src:.c=.d) bin = sbtest.exe ifeq ($(findstring COMMAND.COM, $(SHELL)), COMMAND.COM) hostsys = dos else hostsys = unix TOOLPREFIX = i586-pc-msdosdjgpp- endif inc = -Isrc opt = -O3 -ffast-math -fno-strict-aliasing dbg = -g warn = -pedantic -Wall -Wno-unused-function -Wno-unused-variable AS = $(TOOLPREFIX)as CC = $(TOOLPREFIX)gcc AR = $(TOOLPREFIX)ar CFLAGS = $(warn) -march=pentium $(dbg) $(opt) $(inc) LDFLAGS = $(bin): $(obj) $(CC) -o $@ -Wl,-Map=ld.map $(obj) $(LDFLAGS) %.o: %.asm nasm -f coff -o $@ $< -include $(dep) %.o: %.c $(CC) $(CFLAGS) -o $@ -c $< %.d: %.c @echo "gen dep $< -> $@"; $(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@ .PHONY: clean .PHONY: cleandep ifeq ($(hostsys), dos) clean: del src\*.o del $(bin) cleandep: del src\*.d else clean: rm -f $(obj) $(bin) cleandep: rm -f $(dep) endif