[254b4450] | 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 | # directories to be created in install point |
---|
| 31 | CREATE_DIRS = include include/sys \ |
---|
| 32 | include/rtems include/rtems/score include/rtems/rtems include/rtems/posix \ |
---|
| 33 | include/libc include/libc/sys \ |
---|
| 34 | lib \ |
---|
| 35 | bin \ |
---|
| 36 | samples tests \ |
---|
| 37 | build-tools update-tools |
---|
| 38 | |
---|
| 39 | # Make all/install must include 'env' |
---|
| 40 | all $(TARGET_VARIANTS:%=%_install) $(TARGET_VARIANTS:%=%_all): env |
---|
| 41 | |
---|
| 42 | # top level clean/clobber will delete the install points |
---|
| 43 | clean_WRAPUP = $(MAKE) clean_wrapup |
---|
| 44 | clobber_WRAPUP = $(MAKE) clean_wrapup |
---|
| 45 | |
---|
| 46 | clean_wrapup: clean_tools clean_dirs clean_modules |
---|
| 47 | |
---|
| 48 | .PHONY: dirs clean_wrapup clean_dirs clean_tools clean_modules env install |
---|
| 49 | |
---|
| 50 | # XXX The link is temporary while switching to -specs options. |
---|
| 51 | dirs: |
---|
| 52 | -$(MKDIR) ${CREATE_DIRS:%=$(PROJECT_ROOT)/$(RTEMS_BSP)/%} |
---|
| 53 | -ln -s $(PROJECT_ROOT)/$(RTEMS_BSP)/include \ |
---|
| 54 | $(PROJECT_ROOT)/$(RTEMS_BSP)/lib/include |
---|
| 55 | |
---|
| 56 | distclean: clobber |
---|
| 57 | |
---|
| 58 | clean_dirs: |
---|
| 59 | $(RM) -r $(PROJECT_RELEASE) |
---|
| 60 | |
---|
| 61 | clean_tools: |
---|
| 62 | cd build-tools; $(MAKE) clean |
---|
| 63 | |
---|
| 64 | # NOTE: The wildcard on the install should pick up everything except |
---|
| 65 | # the tests directory. This significantly minimizes the install size. |
---|
| 66 | install: all |
---|
| 67 | -$(MKDIR) $(prefix)/$(target) |
---|
| 68 | -$(MKDIR) $(prefix)/$(target)/rtems |
---|
| 69 | -$(MKDIR) $(prefix)/$(target)/rtems/make |
---|
| 70 | -$(MKDIR) $(prefix)/$(target)/rtems/make/compilers |
---|
| 71 | -$(MKDIR) $(prefix)/$(target)/rtems/make/custom |
---|
| 72 | -$(MKDIR) $(prefix)/$(target)/rtems/make/os |
---|
| 73 | -rm -rf $(prefix)/$(target)/rtems/$(RTEMS_BSP) |
---|
| 74 | cd ../; tar cf - $(RTEMS_BSP)/[bilsu]* | \ |
---|
| 75 | (cd $(prefix)/$(target)/rtems; tar xpBf - ) |
---|
| 76 | cd $(srcdir); tar cf - make/compilers make/custom make/os \ |
---|
| 77 | make/leaf.cfg make/directory.cfg make/main.cfg | \ |
---|
| 78 | (cd $(prefix)/$(target)/rtems; tar xpBf - ) |
---|
| 79 | echo RTEMS_BSP = $(RTEMS_BSP) > \ |
---|
| 80 | $(prefix)/$(target)/rtems/$(RTEMS_BSP)/Makefile.inc |
---|
| 81 | cat make/Templates/Makefile.inc >> \ |
---|
| 82 | $(prefix)/$(target)/rtems/$(RTEMS_BSP)/Makefile.inc |
---|
| 83 | |
---|
| 84 | tests: |
---|
| 85 | cd src/tests; $(MAKE) all |
---|
| 86 | |
---|
| 87 | env: $(SRCS) dirs |
---|
| 88 | |
---|
| 89 | |
---|
| 90 | |
---|
| 91 | |
---|
| 92 | |
---|
| 93 | |
---|
| 94 | |
---|
| 95 | |
---|
| 96 | |
---|
| 97 | |
---|
| 98 | |
---|