-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
65 lines (49 loc) · 1.62 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
.PHONY: release qvm clean clean_assets clean_gamecode clean_output distclean
COMPILE_PLATFORM=$(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]')
COMPILE_ARCH=$(shell uname -m | sed -e s/i.86/i386/)
ifeq ($(COMPILE_PLATFORM),sunos)
# Solaris uname and GNU uname differ
COMPILE_ARCH=$(shell uname -p | sed -e s/i.86/i386/)
endif
ifeq ($(COMPILE_PLATFORM),darwin)
# Apple does some things a little differently...
COMPILE_ARCH=$(shell uname -p | sed -e s/i.86/i386/)
endif
ifeq ($(COMPILE_PLATFORM),mingw32)
ifeq ($(COMPILE_ARCH),i386)
COMPILE_ARCH=x86
endif
endif
GAMECODE_DIR := omega_gamecode
GAMECODE_QVM_DIR := $(GAMECODE_DIR)/build/release-$(COMPILE_PLATFORM)-$(COMPILE_ARCH)/omega/vm
ASSETS_DIR := omega_assets
OUTPUT_DIR := build
PK3_DIR := $(OUTPUT_DIR)/pk3
OMEGA_PK3 = z_omega-v3.3.1.pk3
TIMESTAMP = @$(shell cd $(GAMECODE_DIR) && git show -s --format=%ct)
release: qvm $(OUTPUT_DIR)
find . -name ".DS_Store" -print -delete
rm -rf $(PK3_DIR)
mkdir $(PK3_DIR)
cp -r $(ASSETS_DIR)/assets/* $(PK3_DIR)/
cp README.md $(PK3_DIR)/
rm -rf $(PK3_DIR)/vm
mkdir $(PK3_DIR)/vm
cp $(GAMECODE_QVM_DIR)/*.qvm $(PK3_DIR)/vm/
#cd $(PK3_DIR) && zip -r ../$(OMEGA_PK3) -- .
cd $(PK3_DIR) && $(CURDIR)/caca_deterministic_zip.sh \
$(TIMESTAMP) ../$(OMEGA_PK3) .
qvm:
$(MAKE) -C $(GAMECODE_DIR) \
BUILD_GAME_SO=0 BUILD_GAME_QVM=1
$(OUTPUT_DIR):
mkdir -p $(OUTPUT_DIR)
clean_assets:
$(MAKE) -C $(ASSETS_DIR) clean
clean_gamecode:
$(MAKE) -C $(GAMECODE_DIR) clean
clean_output:
rm -rf $(OUTPUT_DIR)
clean: clean_assets clean_gamecode clean_output
distclean: clean_assets clean_output
$(MAKE) -C $(GAMECODE_DIR) distclean