-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
54 lines (40 loc) · 993 Bytes
/
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
all: lib kernel filesystem
PLATFORMS = ti89 ti92p
# build kernels for all platforms
kernel:
for p in $(PLATFORMS); do $(MAKE) $$p; done
ti89:
$(MAKE) -C src/sys/sys CALC=TI89 scratch
ti92p:
$(MAKE) -C src/sys/sys CALC=TI92P scratch
lib:
$(MAKE) -C lib
clean:
rm -f *.[89]?u *.tib
$(MAKE) -C lib clean
$(MAKE) -C src/sys/sys clean
$(MAKE) -C tools/fs clean
scratch:
$(MAKE) clean
$(MAKE) all
# make a release!
# this should be made against a clean copy of the source so it doesn't
# include anything embarrassing!
.PHONY: release
release:
$(MAKE) tgz
$(MAKE) kernel
$(MAKE) filesystem
TGZFILE = punix
# tar+gzip all files into punix.tgz, excluding punix.tgz itself
# and VCS files, and prefix filenames with punix/
.PHONY: tgz
tgz:
tar --exclude-vcs --exclude=*.tgz --xform='s,^,$(TGZFILE)/,' -czf $(TGZFILE).tgz *
# TODO
filesystem: commands mkpfs
commands:
mkpfs: tools/fs/mkpfs
tools/fs/mkpfs:
$(MAKE) -C tools/fs
.PHONY: all lib kernel filesystem clean scratch