1 | # |
---|
2 | # $Id$ |
---|
3 | # |
---|
4 | # top level directory for RTEMS build tree |
---|
5 | # This Makefile is *not* a good example of a directory Makefile. |
---|
6 | # |
---|
7 | |
---|
8 | @SET_MAKE@ |
---|
9 | srcdir = @srcdir@ |
---|
10 | top_srcdir = @top_srcdir@ |
---|
11 | prefix = @prefix@ |
---|
12 | exec_prefix = @exec_prefix@ |
---|
13 | bindir = @bindir@ |
---|
14 | libdir = @libdir@ |
---|
15 | includedir = @includedir@ |
---|
16 | target = @target@ |
---|
17 | manext = 1 |
---|
18 | mandir = @mandir@/man$(manext) |
---|
19 | program_prefix = @program_prefix@ |
---|
20 | VPATH=@srcdir@ |
---|
21 | |
---|
22 | include $(RTEMS_CUSTOM) |
---|
23 | include $(RTEMS_ROOT)/make/directory.cfg |
---|
24 | |
---|
25 | # dubious, but needed by rtems-glom ... |
---|
26 | export PROJECT_HOME |
---|
27 | |
---|
28 | SUB_DIRS=build-tools src |
---|
29 | |
---|
30 | # We only make the install point for the KA9Q header files if it is enabled. |
---|
31 | LIBKA9Q_yes_V = include/ka9q |
---|
32 | LIBKA9Q = $(LIBKA9Q_$(HAS_KA9Q)_V) |
---|
33 | |
---|
34 | # We only make the rtems++ install point if it is enabled. |
---|
35 | LIBRTEMSCPLUSPLUS_yes_V = include/rtems++ |
---|
36 | LIBRTEMSCPLUSPLUS = $(LIBRTEMSCPLUSPLUS_$(HAS_CPLUSPLUS)_V) |
---|
37 | |
---|
38 | # directories to be created in install point |
---|
39 | CREATE_DIRS = include include/sys \ |
---|
40 | include/rtems include/rtems/score include/rtems/rtems include/rtems/posix \ |
---|
41 | include/netinet include/libc include/libc/sys \ |
---|
42 | include/motorola include/zilog \ |
---|
43 | $(LIBKA9Q) \ |
---|
44 | $(LIBRTEMSCPLUSPLUS) \ |
---|
45 | lib bin samples \ |
---|
46 | tests tests/screens tests/screens/sptests \ |
---|
47 | tests/screens/psxtests tests/screens/mptests \ |
---|
48 | tests/screens/mptests/node1 tests/screens/mptests/node2 \ |
---|
49 | build-tools update-tools |
---|
50 | |
---|
51 | # Make all/install must include 'env' |
---|
52 | all $(TARGET_VARIANTS:%=%_install) $(TARGET_VARIANTS:%=%_all): env |
---|
53 | |
---|
54 | # top level clean/clobber will delete the install points |
---|
55 | clean_WRAPUP = $(MAKE) clean_wrapup |
---|
56 | clobber_WRAPUP = $(MAKE) clean_wrapup |
---|
57 | |
---|
58 | clean_wrapup: clean_tools clean_dirs clean_modules |
---|
59 | |
---|
60 | .PHONY: dirs clean_wrapup clean_dirs clean_tools clean_modules env install |
---|
61 | |
---|
62 | # XXX The link is temporary while switching to -specs options. |
---|
63 | dirs: |
---|
64 | -test -d $(PROJECT_ROOT)/c/src/lib/libhwapi && \ |
---|
65 | (cd $(PROJECT_ROOT)/c/src/lib/libhwapi ; $(MAKE) mkdirs) |
---|
66 | -$(MKDIR) ${CREATE_DIRS:%=$(PROJECT_ROOT)/$(RTEMS_BSP)/%} |
---|
67 | -rm -f $(PROJECT_ROOT)/$(RTEMS_BSP)/include |
---|
68 | -ln -s $(PROJECT_ROOT)/$(RTEMS_BSP)/include \ |
---|
69 | $(PROJECT_ROOT)/$(RTEMS_BSP)/lib/include |
---|
70 | |
---|
71 | distclean: clobber |
---|
72 | |
---|
73 | clean_dirs: |
---|
74 | $(RM) -r $(PROJECT_RELEASE) |
---|
75 | |
---|
76 | clean_tools: |
---|
77 | cd build-tools; $(MAKE) clean |
---|
78 | |
---|
79 | # NOTE: The wildcard on the install should pick up everything except |
---|
80 | # the tests directory. This significantly minimizes the install size. |
---|
81 | install: all |
---|
82 | -$(MKDIR) $(prefix)/$(target) |
---|
83 | -$(MKDIR) $(prefix)/$(target)/rtems |
---|
84 | -$(MKDIR) $(prefix)/$(target)/rtems/make |
---|
85 | -$(MKDIR) $(prefix)/$(target)/rtems/make/compilers |
---|
86 | -$(MKDIR) $(prefix)/$(target)/rtems/make/custom |
---|
87 | -$(MKDIR) $(prefix)/$(target)/rtems/make/os |
---|
88 | -rm -rf $(prefix)/$(target)/rtems/$(RTEMS_BSP) |
---|
89 | cd ../; tar cf - $(RTEMS_BSP)/[bilsu]* | \ |
---|
90 | (cd $(prefix)/$(target)/rtems; tar xpBf - ) |
---|
91 | cd $(srcdir); tar cf - make/compilers make/custom make/os \ |
---|
92 | make/leaf.cfg make/directory.cfg make/main.cfg | \ |
---|
93 | (cd $(prefix)/$(target)/rtems; tar xpBf - ) |
---|
94 | echo RTEMS_BSP = $(RTEMS_BSP) > \ |
---|
95 | $(prefix)/$(target)/rtems/$(RTEMS_BSP)/Makefile.inc |
---|
96 | cat make/Templates/Makefile.inc >> \ |
---|
97 | $(prefix)/$(target)/rtems/$(RTEMS_BSP)/Makefile.inc |
---|
98 | |
---|
99 | tests: |
---|
100 | cd src/tests; $(MAKE) all |
---|
101 | |
---|
102 | env: $(SRCS) dirs |
---|