forked from markmoxon/elite-source-code-nes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
69 lines (64 loc) · 4.09 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
BEEBASM?=beebasm
PYTHON?=python
# You can set the variant that gets built by adding 'variant=<rel>' to
# the make command, where <rel> is one of:
#
# ntsc
# pal
#
# So, for example:
#
# make encrypt verify variant=ntsc
#
# will build the NTSC variant from Ian Bell's site. If you omit the
# variant parameter, it will build the NTSC variant.
ifeq ($(variant), pal)
variant-nes=2
folder-nes=/pal
suffix-nes=-pal
else
variant-nes=1
folder-nes=/ntsc
suffix-nes=-ntsc
endif
.PHONY:build
build:
echo _VERSION=7 > 1-source-files/main-sources/elite-build-options.asm
echo _VARIANT=$(variant-nes) >> 1-source-files/main-sources/elite-build-options.asm
echo _REMOVE_CHECKSUMS=TRUE >> 1-source-files/main-sources/elite-build-options.asm
echo _MATCH_ORIGINAL_BINARIES=FALSE >> 1-source-files/main-sources/elite-build-options.asm
echo > 1-source-files/main-sources/elite-bank-options.asm
$(BEEBASM) -i 1-source-files/main-sources/elite-source-header.asm -v > 3-assembled-output/compile.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-0.asm -v > 3-assembled-output/compile0.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-1.asm -v > 3-assembled-output/compile1.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-2.asm -v > 3-assembled-output/compile2.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-3.asm -v > 3-assembled-output/compile3.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-4.asm -v > 3-assembled-output/compile4.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-5.asm -v > 3-assembled-output/compile5.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-6.asm -v > 3-assembled-output/compile6.txt
echo _BANK=7 >> 1-source-files/main-sources/elite-bank-options.asm
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-7.asm -v > 3-assembled-output/compile7.txt
cat 3-assembled-output/header.bin 3-assembled-output/bank0.bin 3-assembled-output/bank1.bin 3-assembled-output/bank2.bin 3-assembled-output/bank3.bin 3-assembled-output/bank4.bin 3-assembled-output/bank5.bin 3-assembled-output/bank6.bin 3-assembled-output/bank7.bin > 3-assembled-output/elite.bin
cp 3-assembled-output/elite.bin 5-compiled-game-discs/ELITE$(suffix-nes).NES
.PHONY:encrypt
encrypt:
echo _VERSION=7 > 1-source-files/main-sources/elite-build-options.asm
echo _VARIANT=$(variant-nes) >> 1-source-files/main-sources/elite-build-options.asm
echo _REMOVE_CHECKSUMS=FALSE >> 1-source-files/main-sources/elite-build-options.asm
echo _MATCH_ORIGINAL_BINARIES=TRUE >> 1-source-files/main-sources/elite-build-options.asm
echo > 1-source-files/main-sources/elite-bank-options.asm
$(BEEBASM) -i 1-source-files/main-sources/elite-source-header.asm -v > 3-assembled-output/compile.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-0.asm -v > 3-assembled-output/compile0.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-1.asm -v > 3-assembled-output/compile1.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-2.asm -v > 3-assembled-output/compile2.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-3.asm -v > 3-assembled-output/compile3.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-4.asm -v > 3-assembled-output/compile4.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-5.asm -v > 3-assembled-output/compile5.txt
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-6.asm -v > 3-assembled-output/compile6.txt
echo _BANK=7 >> 1-source-files/main-sources/elite-bank-options.asm
$(BEEBASM) -i 1-source-files/main-sources/elite-source-bank-7.asm -v > 3-assembled-output/compile7.txt
cat 3-assembled-output/header.bin 3-assembled-output/bank0.bin 3-assembled-output/bank1.bin 3-assembled-output/bank2.bin 3-assembled-output/bank3.bin 3-assembled-output/bank4.bin 3-assembled-output/bank5.bin 3-assembled-output/bank6.bin 3-assembled-output/bank7.bin > 3-assembled-output/elite.bin
cp 3-assembled-output/elite.bin 5-compiled-game-discs/ELITE$(suffix-nes).NES
.PHONY:verify
verify:
@$(PYTHON) 2-build-files/crc32.py 4-reference-binaries$(folder-nes) 3-assembled-output