aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: c5e8670bf6ba72671480881d9d4886dc4a0d9dae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
PROJECT_ROOT = $(dir $(abspath $(lastword $(MAKEFILE_LIST))))

INPUTS = $(PROJECT_ROOT)win.c
INPUTS += resource.obj
INPUTS += $(PROJECT_ROOT)track_episodes.pl
INPUTS += $(PROJECT_ROOT)local_episodes.pl
INPUTS += $(PROJECT_ROOT)episode_data.pl

CFLAGS += -v -cc-options,-mwindows,-municode -DUNICODE -D_UNICODE
LDFLAGS += -lcomctl32 -lgdi32

ifeq ($(BUILD_MODE),debug)
	CFLAGS += -g
else ifeq ($(BUILD_MODE),run)
	CFLAGS += -O2
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

episode_browser.exe: $(INPUTS)
	swipl-ld $(CFLAGS) $(LDFLAGS) -goal true -o $@ $(INPUTS)
	$(EXTRA_CMDS)

resource.obj: $(PROJECT_ROOT)resource.h $(PROJECT_ROOT)resource.rc
	windres -i $(PROJECT_ROOT)resource.rc -o resource.obj

#%.o:	$(PROJECT_ROOT)%.c
#	$(CC) -c $(CFLAGS) -o $@ $<

clean:
	rm -fr episode_browser.exe $(EXTRA_CLEAN)