-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathMakefile
92 lines (75 loc) · 2.92 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
80
81
82
83
84
85
86
87
88
89
90
91
# ***************************************************************************************
# ***************************************************************************************
#
# Name : Makefile
# Author : Paul Robson ([email protected])
# Date : 20th November 2023
# Reviewed : No
# Purpose : Main firmware makefile, most of the work is done by CMake.
#
# ***************************************************************************************
# ***************************************************************************************
ifeq ($(OS),Windows_NT)
include build_env\common.make
else
include build_env/common.make
endif
RELEASEFILE = neo6502.zip
DOCDIR = documents$(S)release$(S)
DOCUMENTS = $(DOCDIR)*.pdf $(DOCDIR)*.txt $(BINDIR)neo6502.inc
BINARIES = $(BINDIR)*.uf2 $(BINDIR)*.elf $(ROOTDIR)emulator$(S)cross-compile$(S)neowin.zip $(BINDIR)basic.bin \
$(ROOTDIR)emulator$(S)neolinux.zip
PYTHONAPPS = $(BINDIR)makebasic.zip $(BINDIR)listbasic.zip $(BINDIR)createblanks.zip $(BINDIR)makeimg.zip \
$(BINDIR)nxmit.zip
# ***************************************************************************************
#
# Remake everything to release state
#
# ***************************************************************************************
all:
$(CMAKEDIR) release
make -B -C kernel release
make -B -C basic release
make -B -C firmware release
make -B -C emulator release
make -B zipfile
# ***************************************************************************************
#
# Make the release zip
#
# ***************************************************************************************
zipfile: samples crossdev
zip -r -j -q release$(S)$(RELEASEFILE) $(DOCUMENTS) $(BINARIES) $(PYTHONAPPS) \
release$(S)samples.zip documents$(S)release$(S)crossdev$(S)crossdev.zip
$(CDEL) release$(S)samples.zip
$(CDEL) documents$(S)release$(S)crossdev$(S)crossdev.zip
crossdev:
cd documents$(S)release$(S)crossdev ; $(CDEL) crossdev.zip ; zip -r -q crossdev.zip *
samples:
zip -r -j -q release$(S)samples.zip basic$(S)code basic$(S)images$(S)test$(S)test.gfx basic$(S)images$(S)graphics.gfx
zip -d -q release$(S)samples.zip *.tass
# ***************************************************************************************
#
# Make windows & linux versions
#
# ***************************************************************************************
windows:
make -B -C kernel clean
make -B -C basic clean
make -B -C emulator clean
make -B -C emulator ewindows
linux:
make -B -C kernel clean
make -B -C basic clean
make -B -C emulator clean
make -B -C emulator elinux
# ***************************************************************************************
#
# Clean everything
#
# ***************************************************************************************
clean:
make -B -C kernel clean
make -B -C basic clean
make -B -C emulator clean
make -B -C firmware clean