1 | # |
---|
2 | # $Id$ |
---|
3 | # |
---|
4 | |
---|
5 | @SET_MAKE@ |
---|
6 | srcdir = @srcdir@ |
---|
7 | top_srcdir = @top_srcdir@ |
---|
8 | top_builddir = ../../../.. |
---|
9 | subdir = libbsp/unix/posix/startup |
---|
10 | |
---|
11 | RTEMS_ROOT = @RTEMS_ROOT@ |
---|
12 | PROJECT_ROOT = @PROJECT_ROOT@ |
---|
13 | |
---|
14 | VPATH = @srcdir@:@srcdir@/../../../shared |
---|
15 | |
---|
16 | PGM = ${ARCH}/startup.rel |
---|
17 | NO_CTOR_LIB = $(NO_CTOR_LIB_CPLUSPLUS_$(HAS_CPLUSPLUS)_V) |
---|
18 | |
---|
19 | # C source names, if any, go here -- minus the .c |
---|
20 | C_PIECES = bspclean bsplibc bspstart setvec $(C_MAIN_C_PIECES) |
---|
21 | C_FILES = $(C_PIECES:%=%.c) |
---|
22 | C_O_FILES = $(C_PIECES:%=${ARCH}/%.o) |
---|
23 | |
---|
24 | CC_PIECES = $(CXX_MAIN) |
---|
25 | CC_FILES = $(CC_PIECES:%=%.cc) |
---|
26 | CC_O_FILES = $(CC_PIECES:%=${ARCH}/%.o) |
---|
27 | |
---|
28 | H_FILES = |
---|
29 | |
---|
30 | SRCS = $(C_FILES) $(CC_FILES) $(H_FILES) no-ctor.c |
---|
31 | OBJS = $(C_O_FILES) |
---|
32 | |
---|
33 | # We install the RTEMS constructor as a separate .o |
---|
34 | # so it can be easily place correctly by the compiler config file. |
---|
35 | |
---|
36 | include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg |
---|
37 | include $(RTEMS_ROOT)/make/leaf.cfg |
---|
38 | |
---|
39 | INSTALL_CHANGE = @INSTALL_CHANGE@ |
---|
40 | |
---|
41 | NO_CTOR_LIB_CPLUSPLUS_yes_V = ${ARCH}/libno-ctor.a |
---|
42 | INSTALLED_O_FILES_CPLUSPLUS_yes_V = $(ARCH)/rtems-ctor.o |
---|
43 | CXX_MAIN_C_PIECES_CPLUSPLUS_yes_V = rtems-ctor |
---|
44 | C_MAIN_C_PIECES_CPLUSPLUS_yes_V = |
---|
45 | |
---|
46 | NO_CTOR_LIB_CPLUSPLUS_no_V = |
---|
47 | INSTALLED_O_FILES_CPLUSPLUS_no_V = |
---|
48 | CXX_MAIN_C_PIECES_CPLUSPLUS_no_V = |
---|
49 | C_MAIN_C_PIECES_CPLUSPLUS_no_V = main bootcard |
---|
50 | |
---|
51 | NO_CTOR_LIB = $(NO_CTOR_LIB_CPLUSPLUS_$(HAS_CPLUSPLUS)_V) |
---|
52 | INSTALLED_O_FILES = $(INSTALLED_O_FILES_CPLUSPLUS_$(HAS_CPLUSPLUS)_V) |
---|
53 | CXX_MAIN_C_PIECES = $(CXX_MAIN_C_PIECES_CPLUSPLUS_$(HAS_CPLUSPLUS)_V) |
---|
54 | C_MAIN_C_PIECES = $(C_MAIN_C_PIECES_CPLUSPLUS_$(HAS_CPLUSPLUS)_V) |
---|
55 | |
---|
56 | # |
---|
57 | # (OPTIONAL) Add local stuff here using += |
---|
58 | # |
---|
59 | |
---|
60 | DEFINES += |
---|
61 | CPPFLAGS += |
---|
62 | CFLAGS += $(LIBC_DEFINES) |
---|
63 | |
---|
64 | LD_PATHS += |
---|
65 | LD_LIBS += |
---|
66 | LDFLAGS += |
---|
67 | |
---|
68 | # |
---|
69 | # Add your list of files to delete here. The config files |
---|
70 | # already know how to delete some stuff, so you may want |
---|
71 | # to just run 'make clean' first to see what gets missed. |
---|
72 | # 'make clobber' already includes 'make clean' |
---|
73 | # |
---|
74 | |
---|
75 | CLEAN_ADDITIONS += |
---|
76 | CLOBBER_ADDITIONS += |
---|
77 | |
---|
78 | ${PGM}: ${SRCS} ${OBJS} |
---|
79 | $(make-rel) |
---|
80 | |
---|
81 | ${NO_CTOR_LIB}: $(ARCH)/no-ctor.o |
---|
82 | $(RM) $@ |
---|
83 | $(AR) -cvr $@ $(ARCH)/no-ctor.o |
---|
84 | |
---|
85 | all: ${ARCH} $(SRCS) $(INSTALLED_O_FILES) $(PGM) ${NO_CTOR_LIB} |
---|
86 | @$(INSTALL_VARIANT) $(INSTALLED_O_FILES) $(PROJECT_RELEASE)/lib |
---|
87 | @$(INSTALL_VARIANT) $(NO_CTOR_LIB) $(PROJECT_RELEASE)/lib |
---|
88 | |
---|
89 | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status |
---|
90 | cd $(top_builddir) \ |
---|
91 | && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status |
---|