mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-20 20:12:26 +08:00
97 lines
2.9 KiB
Makefile
97 lines
2.9 KiB
Makefile
#
|
|
# $Id$
|
|
#
|
|
# top level directory for RTEMS build tree
|
|
# This Makefile is *not* a good example of a directory Makefile.
|
|
#
|
|
|
|
@SET_MAKE@
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
bindir = @bindir@
|
|
libdir = @libdir@
|
|
includedir = @includedir@
|
|
target = @target@
|
|
manext = 1
|
|
mandir = @mandir@/man$(manext)
|
|
program_prefix = @program_prefix@
|
|
VPATH=@srcdir@
|
|
|
|
include $(RTEMS_CUSTOM)
|
|
include $(RTEMS_ROOT)/make/directory.cfg
|
|
|
|
# dubious, but needed by rtems-glom ...
|
|
export PROJECT_HOME
|
|
|
|
SUB_DIRS=build-tools src
|
|
|
|
# We only make the install point for the KA9Q header files if it is enabled.
|
|
LIBKA9Q_yes_V = include/ka9q
|
|
LIBKA9Q = $(LIBKA9Q_$(HAS_KA9Q)_V)
|
|
|
|
# directories to be created in install point
|
|
CREATE_DIRS = include include/sys \
|
|
include/rtems include/rtems/score include/rtems/rtems include/rtems/posix \
|
|
include/netinet include/libc include/libc/sys \
|
|
$(LIBKA9Q) \
|
|
lib bin samples \
|
|
tests tests/screens tests/screens/sptests \
|
|
tests/screens/psxtests tests/screens/mptests \
|
|
tests/screens/mptests/node1 tests/screens/mptests/node2 \
|
|
build-tools update-tools
|
|
|
|
# Make all/install must include 'env'
|
|
all $(TARGET_VARIANTS:%=%_install) $(TARGET_VARIANTS:%=%_all): env
|
|
|
|
# top level clean/clobber will delete the install points
|
|
clean_WRAPUP = $(MAKE) clean_wrapup
|
|
clobber_WRAPUP = $(MAKE) clean_wrapup
|
|
|
|
clean_wrapup: clean_tools clean_dirs clean_modules
|
|
|
|
.PHONY: dirs clean_wrapup clean_dirs clean_tools clean_modules env install
|
|
|
|
# XXX The link is temporary while switching to -specs options.
|
|
dirs:
|
|
-test -d $(PROJECT_ROOT)/c/src/lib/libhwapi && \
|
|
(cd $(PROJECT_ROOT)/c/src/lib/libhwapi ; $(MAKE) mkdirs)
|
|
-$(MKDIR) ${CREATE_DIRS:%=$(PROJECT_ROOT)/$(RTEMS_BSP)/%}
|
|
-ln -s $(PROJECT_ROOT)/$(RTEMS_BSP)/include \
|
|
$(PROJECT_ROOT)/$(RTEMS_BSP)/lib/include
|
|
|
|
distclean: clobber
|
|
|
|
clean_dirs:
|
|
$(RM) -r $(PROJECT_RELEASE)
|
|
|
|
clean_tools:
|
|
cd build-tools; $(MAKE) clean
|
|
|
|
# NOTE: The wildcard on the install should pick up everything except
|
|
# the tests directory. This significantly minimizes the install size.
|
|
install: all
|
|
-$(MKDIR) $(prefix)/$(target)
|
|
-$(MKDIR) $(prefix)/$(target)/rtems
|
|
-$(MKDIR) $(prefix)/$(target)/rtems/make
|
|
-$(MKDIR) $(prefix)/$(target)/rtems/make/compilers
|
|
-$(MKDIR) $(prefix)/$(target)/rtems/make/custom
|
|
-$(MKDIR) $(prefix)/$(target)/rtems/make/os
|
|
-rm -rf $(prefix)/$(target)/rtems/$(RTEMS_BSP)
|
|
cd ../; tar cf - $(RTEMS_BSP)/[bilsu]* | \
|
|
(cd $(prefix)/$(target)/rtems; tar xpBf - )
|
|
cd $(srcdir); tar cf - make/compilers make/custom make/os \
|
|
make/leaf.cfg make/directory.cfg make/main.cfg | \
|
|
(cd $(prefix)/$(target)/rtems; tar xpBf - )
|
|
echo RTEMS_BSP = $(RTEMS_BSP) > \
|
|
$(prefix)/$(target)/rtems/$(RTEMS_BSP)/Makefile.inc
|
|
cat make/Templates/Makefile.inc >> \
|
|
$(prefix)/$(target)/rtems/$(RTEMS_BSP)/Makefile.inc
|
|
|
|
tests:
|
|
cd src/tests; $(MAKE) all
|
|
|
|
env: $(SRCS) dirs
|
|
|