diff --git a/Makefile b/Makefile index 021c2fe..c1f26e9 100644 --- a/Makefile +++ b/Makefile @@ -3,19 +3,25 @@ rwildcard=$(wildcard $1$2) $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2)) SOURCES := $(call rwildcard,src/,*.c) HEADERS := $(call rwildcard,src/,*.h) +OBJECTS := $(patsubst src/%.c,build/%.o,$(SOURCES)) +DEPS := $(patsubst build/%.o,build/%.d,$(OBJECTS)) + PREFIX = /usr/local +CFLAGS = $(if $(DEBUGA),-DDEBUG=1,) -Wall $(if $(ASAN),-fsanitize=address,) -fno-PIE -no-pie -std=gnu11 $(if $(DEBUG),-O0 -g,-Os -s) -fms-extensions -Isrc -Wno-array-bounds -MMD -MP -flto + .PHONY: install clean -ntc: $(SOURCES) $(HEADERS) -ifdef OW - wcl386 -ml $(if $(GAS),-DSYNTAX_GAS=1,) $(if $(DEBUG),-DDEBUG=1,) -fe="ntc.exe" -bt=dos -l=dos4g -ml $(if $(DEBUG),,-d0 -os -om -ob -oi -ol -ox) -lr -za99 -i=src $(SOURCES) -else - cc $(if $(GAS),-DSYNTAX_GAS=1,) $(if $(DEBUGA),-DDEBUG=1,) -Wall -o ntc -fsanitize=address -fno-PIE -no-pie -std=gnu11 $(if $(DEBUG),-O0 -g,-Os -s) -fms-extensions -Isrc $(SOURCES) -Wno-array-bounds -endif +build/%.o: src/%.c + cc -c $(CFLAGS) -o $@ $< + +ntc: $(OBJECTS) + cc $(CFLAGS) -o ntc $(OBJECTS) install: ntc mv ./ntc $(PREFIX)/bin clean: rm ./ntc + +-include $(DEPS)