This repository has been archived by the owner on Apr 25, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
80 lines (65 loc) · 3.35 KB
/
Makefile
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
BIN_CLIENT=@LiveInLifeClient
BIN_SERVER=@LiveInLifeServer
PREFIX_CLIENT=lilc
PREFIX_SERVER=lils
BUILD_PATH=.build
BUILDS_PATH=.builds
GIT_HASH=$(shell git describe --tag | sed "s/-.*-/-/")
FLAGS=-w unquoted-string -w redefinition-wo-undef
ifeq ($(OS), Windows_NT)
ARMAKE = ./tools/armake_w64.exe
else
ARMAKE = ./tools/armake
endif
all: $(patsubst $(BIN_CLIENT)/addons/%, $(BUILD_PATH)/$(BIN_CLIENT)/addons/$(PREFIX_CLIENT)_%.pbo, $(wildcard $(BIN_CLIENT)/addons/*)) \
$(patsubst $(BIN_SERVER)/addons/%, $(BUILD_PATH)/$(BIN_SERVER)/addons/$(PREFIX_SERVER)_%.pbo, $(wildcard $(BIN_SERVER)/addons/*))
test_scripts:
@echo " TEST @LiveInLifeClient/addons/"
@sqflint -d @LiveInLifeClient/addons
@echo " TEST @LiveInLifeServer/addons/"
@sqflint -d @LiveInLifeServer/addons
@echo " TEST LiveInLife.Tanoa/"
@sqflint -d LiveInLife.Tanoa
test_configs:
@echo " TEST Configs"
@python3 tools/config_style_checker.py
$(BUILD_PATH)/$(BIN_CLIENT)/addons/$(PREFIX_CLIENT)_%.pbo: $(BIN_CLIENT)/addons/%
@mkdir -p $(BUILD_PATH)/$(BIN_CLIENT)/addons
@echo " PBO $@"
@${ARMAKE} build $(FLAGS) -p -f -e "version=$(GIT_HASH)" $< $@
$(BUILD_PATH)/$(BIN_CLIENT)/addons/dbo_old_bike.pbo:
@mkdir -p $(BUILD_PATH)/$(BIN_CLIENT)/addons
@echo " PBO $@"
@cp -f deps/dbo_old_bike.pbo $(BUILD_PATH)/$(BIN_CLIENT)/addons/
$(BUILD_PATH)/$(BIN_SERVER)/addons/$(PREFIX_SERVER)_%.pbo: $(BIN_SERVER)/addons/%
@mkdir -p $(BUILD_PATH)/$(BIN_SERVER)/addons
@echo " PBO $@"
@${ARMAKE} build $(FLAGS) -p -f -e "version=$(GIT_HASH)" $< $@
$(BUILD_PATH)/keys/%.biprivatekey:
@mkdir -p $(BUILD_PATH)/keys
@echo " KEY $@"
@${ARMAKE} keygen -f $(patsubst $(BUILD_PATH)/keys/%.biprivatekey, $(BUILD_PATH)/keys/%, $@)
$(BUILD_PATH)/$(BIN_CLIENT)/addons/$(PREFIX_CLIENT)_%.pbo.lil_$(GIT_HASH).bisign: $(BUILD_PATH)/$(BIN_CLIENT)/addons/$(PREFIX_CLIENT)_%.pbo $(BUILD_PATH)/keys/lil_$(GIT_HASH).biprivatekey
@echo " SIG $@"
@${ARMAKE} sign -f -s $@ $(BUILD_PATH)/keys/lil_$(GIT_HASH).biprivatekey $<
$(BUILD_PATH)/$(BIN_CLIENT)/addons/dbo_old_bike.pbo.lil_$(GIT_HASH).bisign: $(BUILD_PATH)/$(BIN_CLIENT)/addons/dbo_old_bike.pbo
@echo " SIG $@"
@${ARMAKE} sign -f -s $@ $(BUILD_PATH)/keys/lil_$(GIT_HASH).biprivatekey $<
signatures: $(patsubst $(BIN_CLIENT)/addons/%, $(BUILD_PATH)/$(BIN_CLIENT)/addons/$(PREFIX_CLIENT)_%.pbo.lil_$(GIT_HASH).bisign, $(wildcard $(BIN_CLIENT)/addons/*)) $(BUILD_PATH)/$(BIN_CLIENT)/addons/dbo_old_bike.pbo.lil_$(GIT_HASH).bisign
clean:
@echo " CLEAN"
@rm -Rf $(BUILD_PATH)
@rm -Rf $(BUILDS_PATH)/$(GIT_HASH)
release: clean
@"$(MAKE)" $(MAKEFLAGS) $(patsubst $(BIN_SERVER)/addons/%, $(BUILD_PATH)/$(BIN_SERVER)/addons/$(PREFIX_SERVER)_%.pbo, $(wildcard $(BIN_SERVER)/addons/*))
@"$(MAKE)" $(MAKEFLAGS) signatures
@mkdir -p $(BUILDS_PATH)/$(GIT_HASH)
@echo " CP $(BUILD_PATH)/* to $(BUILDS_PATH)/$(GIT_HASH)"
@cp -Rf $(BUILD_PATH)/$(BIN_CLIENT) $(BUILD_PATH)/$(BIN_SERVER) $(BUILD_PATH)/keys $(BUILDS_PATH)/$(GIT_HASH)/
@mkdir -p $(BUILDS_PATH)/$(GIT_HASH)/$(BIN_CLIENT)/keys/
@cp -f $(BUILDS_PATH)/$(GIT_HASH)/keys/lil_$(GIT_HASH).bikey $(BUILDS_PATH)/$(GIT_HASH)/$(BIN_CLIENT)/keys/
artifacts: release
@echo " MAKING RELEASE ARTIFACTS"
@cd $(BUILDS_PATH)/$(GIT_HASH)/ && \
tar czf liveinlife-$(GIT_HASH)-mod.tar.gz @LiveInLifeClient/ @LiveInLifeServer/ && \
zip -r liveinlife-$(GIT_HASH)-mod.zip @LiveInLifeClient/ @LiveInLifeServer/