-
Notifications
You must be signed in to change notification settings - Fork 7
/
Makefile
80 lines (62 loc) · 1.47 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
#
# Available arguments:
# TARGET = [DESKTOP, AVR]
#
# Default values:
# TARGET = DESKTOP
#
# For target AVR, check options in section "Changes for an embedded target".
#
# Tools configuration
SHELL = /bin/sh
CP := cp
MKDIR := mkdir -p
TAGS := ctags
CSCOPE := cscope
PYCSCOPE := $(abspath src/tools/pycscope.py)
PMDIST := src/tools/pmDist.py
pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(PATH)))))
VPATH := . src/vm src/lib docs/src
# Default target
PLATFORM = desktop64
.PHONY: all vm ipm html dox indent TAGS dist check clean
all :
$(MAKE) -C src/platform/$(PLATFORM)
ipm :
$(MAKE) -C src/platform/$(PLATFORM)
cd src/tools && ./ipm.py -f ../platform/$(PLATFORM)/pmfeatures.py -d
html : docs/src/*.txt dox
$(MKDIR) docs/html
$(MAKE) -C docs/src
dox :
$(MKDIR) docs/html
doxygen
indent :
$(MAKE) -C src/vm indent
TAGS :
$(TAGS) -R *
$(CSCOPE) -b -c -R
cd src/tools && $(PYCSCOPE) *.py
# cd src/lib && $(PYCSCOPE) *.py
dist :
ifndef PM_RELEASE
$(error Must define PM_RELEASE=RR)
else
$(PMDIST) $(PM_RELEASE)
endif
check :
$(MAKE) -C src/tests/unit
$(MAKE) -C src/tests/system
# Removes all files created during default make
clean :
$(MAKE) -C src/platform/$(PLATFORM) clean
# Removes files made by make check
check-clean :
$(MAKE) -C src/tests/unit clean
$(MAKE) -C src/tests/system clean
# Removes files made by ipm
ipm-clean :
$(MAKE) -C src/sample/desktop-ipm clean
# Remove files made by html / dox
html-clean :
$(RM) -rf docs/html