diff options
author | John Ankarström <john@ankarstrom.se> | 2022-02-17 13:06:02 +0100 |
---|---|---|
committer | John Ankarström <john@ankarstrom.se> | 2022-02-17 13:06:02 +0100 |
commit | 812d23eeb24c2b4502e338770df36072c5b1fa53 (patch) | |
tree | 6dc0b4650541ed334a5700753b2daf110f648793 | |
parent | 447648c9db10167e5da4f0b431d7cfb878c5f807 (diff) | |
download | EpisodeBrowser-812d23eeb24c2b4502e338770df36072c5b1fa53.tar.gz |
Improve Makefile.
-rw-r--r-- | Makefile | 44 |
1 files changed, 18 insertions, 26 deletions
@@ -1,42 +1,34 @@ -PROJECT_ROOT = $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) - -INPUTS = $(PROJECT_ROOT)c/main.c -INPUTS += $(PROJECT_ROOT)c/common.c -INPUTS += $(PROJECT_ROOT)c/listview.c -INPUTS += $(PROJECT_ROOT)c/episodelistview.c -INPUTS += $(PROJECT_ROOT)c/datalistview.c -INPUTS += resource.obj -INPUTS += $(PROJECT_ROOT)pl/track_episodes.pl -INPUTS += $(PROJECT_ROOT)pl/local_episodes.pl -INPUTS += $(PROJECT_ROOT)pl/episode_data.pl +ROOT = $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) +C = $(ROOT)c/main.c +OBJ != cd $(ROOT)c && ls *.c | grep -v main.c | sed 's/c$$/obj/' +OBJ += resource.obj +PL += $(ROOT)pl/track_episodes.pl +PL += $(ROOT)pl/local_episodes.pl +PL += $(ROOT)pl/episode_data.pl + +CC = swipl-ld CFLAGS += -DUNICODE -D_UNICODE -LDFLAGS += -lcomctl32 -lgdi32 -luxtheme +LDFLAGS += -lcomctl32 -luxtheme ifeq ($(BUILD_MODE),debug) CFLAGS += -g else ifeq ($(BUILD_MODE),run) CFLAGS += -O2 -ld-options,-mwindows -else ifeq ($(BUILD_MODE),linuxtools) - CFLAGS += -g -pg -fprofile-arcs -ftest-coverage - LDFLAGS += -pg -fprofile-arcs -ftest-coverage - EXTRA_CLEAN += episode_browser.gcda episode_browser.gcno $(PROJECT_ROOT)gmon.out - EXTRA_CMDS = rm -rf episode_browser.gcda else $(error Build mode $(BUILD_MODE) not supported by this Makefile) endif -all: episode_browser.exe +all: episode_browser.exe -episode_browser.exe: $(INPUTS) $(PROJECT_ROOT)c/defs.h $(PROJECT_ROOT)Makefile - swipl-ld -v $(CFLAGS) $(LDFLAGS) -goal true -o $@ $(INPUTS) - $(EXTRA_CMDS) +episode_browser.exe: $(C) $(OBJ) $(PL) $(ROOT)c/defs.h $(ROOT)Makefile + $(CC) -v $(CFLAGS) $(LDFLAGS) -goal true -o $@ $(C) $(OBJ) $(PL) -resource.obj: $(PROJECT_ROOT)c/resource.h $(PROJECT_ROOT)c/resource.rc - windres -i $(PROJECT_ROOT)c/resource.rc -o resource.obj +resource.obj: $(ROOT)c/resource.h $(ROOT)c/resource.rc + windres -i $(ROOT)c/resource.rc -o resource.obj -#%.o: $(PROJECT_ROOT)%.c -# $(CC) -c $(CFLAGS) -o $@ $< +%.obj: $(ROOT)c/%.c $(ROOT)c/defs.h + $(CC) -c $(CFLAGS) -o $@ $< clean: - rm -fr episode_browser.exe resource.obj $(EXTRA_CLEAN) + rm -fr episode_browser.exe *.obj |