aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: cba8b06f37b13f6dca2ce4ccbb8aa29121f35046 (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
39
40
MAKEFLAGS += --no-print-directory
SHELL = sh

SYSTEM ?= vs2019
VS_CONFIG ?= Debug
VS_TOOLSET ?= v142
VS_PLATFORM ?= x64

ifeq ($(SYSTEM), mingw)
DIR = $(DIR)
OUT = $(DIR)
else ifeq ($(SYSTEM), vs2019)
DIR = b/vs2019-$(VS_TOOLSET)-$(VS_PLATFORM)
OUT = $(DIR)/$(VS_CONFIG)
else
$(error SYSTEM=$(SYSTEM) is not supported)
endif

all:
ifeq ($(SYSTEM), mingw)
	mkdir -p $(DIR)
	cd $(DIR) && cmake -DCMAKE_CONFIGURATION_TYPES=$(VS_CONFIG) -G "Unix Makefiles" ../../c
	cd $(DIR) && cmake --build . -j
else ifeq ($(SYSTEM), vs2019)
	mkdir -p $(DIR)
	cd $(DIR) && cmake -DCMAKE_CONFIGURATION_TYPES=$(VS_CONFIG) \
		-G "Visual Studio 16 2019" -T "$(VS_TOOLSET)" -A "$(VS_PLATFORM)" ../../c
	cd $(DIR) && cmake --build . -j --config $(VS_CONFIG)
	cp x/l/$(VS_PLATFORM)/libxml2.dll $(DIR)/$(VS_CONFIG)
	cp $(OUT)/libxml2.dll "C:\Users\John\Desktop\Delat"
	cp $(OUT)/libxml2.dll "C:\Users\John\Desktop\XP"
endif
	cp $(OUT)/EpisodeBrowser.exe "C:\Users\John\Desktop\Delat"
	cp $(OUT)/EpisodeBrowser.exe "C:\Users\John\Desktop\XP"

clean:
	cd b/$(SYSTEM) && cmake --build . --target clean

TAGS: c/*.cpp c/*.h
	etags --declarations -lc++ c/*.cpp c/*.h