summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/unix/posix/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/unix/posix/Makefile.am')
-rw-r--r--c/src/lib/libbsp/unix/posix/Makefile.am140
1 files changed, 134 insertions, 6 deletions
diff --git a/c/src/lib/libbsp/unix/posix/Makefile.am b/c/src/lib/libbsp/unix/posix/Makefile.am
index 36e4fdc7f0..02e3cc36fd 100644
--- a/c/src/lib/libbsp/unix/posix/Makefile.am
+++ b/c/src/lib/libbsp/unix/posix/Makefile.am
@@ -6,24 +6,152 @@ ACLOCAL_AMFLAGS = -I ../../../../aclocal
# wrapup is the one that actually builds and installs the library
# from the individual .rel files built in other directories
-SUBDIRS = . startup clock console timer shmsupp wrapup tools
+SUBDIRS = . tools
+include $(top_srcdir)/../../../../automake/compile.am
include $(top_srcdir)/../../bsp.am
-nodist_include_HEADERS += $(top_srcdir)/../../shared/include/coverhd.h
+EXTRA_PROGRAMS =
+CLEANFILES =
+noinst_DATA =
-all-local: $(PREINSTALL_FILES)
+nodist_include_HEADERS += ../../shared/include/coverhd.h
+
+AM_CFLAGS += $(LIBC_DEFINES)
+
+project_lib_DATA =
+
+if HAS_CXX
+# FIXME: libno-ctor ??
+
+# We install the RTEMS constructor as a separate .$(OBJEXT)
+# so it can be easily place correctly by the compiler config file.
+rtems-ctor$(LIB_VARIANT).$(OBJEXT): startup/rtems-ctor.cc
+ ${CXXCOMPILE} -o $@ -c $<
+project_lib_DATA += rtems-ctor$(LIB_VARIANT).$(OBJEXT)
+
+no-ctor$(LIB_VARIANT).$(OBJEXT): startup/no-ctor.cc
+ ${CXXCOMPILE} -o $@ -c $<
+
+project_lib_DATA += no-ctor$(LIB_VARIANT).$(OBJEXT)
+endif
+
+EXTRA_PROGRAMS += startup.rel
+CLEANFILES += startup.rel
+startup_rel_SOURCES = startup/bspclean.c ../../shared/bsplibc.c \
+ startup/bspstart.c startup/setvec.c
+if HAS_CXX
+startup_rel_SOURCES += startup/main.c
+endif
+
+startup_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += startup_g.rel
+CLEANFILES += startup_g.rel
+startup_g_rel_SOURCES = $(startup_rel_SOURCES)
+startup_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+startup_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += startup$(LIB_VARIANT).rel
+
+EXTRA_PROGRAMS += clock.rel
+CLEANFILES += clock.rel
+clock_rel_SOURCES = clock/clock.c
+clock_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+clock_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += clock_g.rel
+CLEANFILES += clock_g.rel
+clock_g_rel_SOURCES = $(clock_rel_SOURCES)
+clock_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+clock_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += clock$(LIB_VARIANT).rel
+
+EXTRA_PROGRAMS += console.rel
+CLEANFILES += console.rel
+console_rel_SOURCES = console/console.c
+console_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+console_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += console_g.rel
+CLEANFILES += console_g.rel
+console_g_rel_SOURCES = $(console_rel_SOURCES)
+console_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+console_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += console$(LIB_VARIANT).rel
+
+EXTRA_PROGRAMS += timer.rel
+CLEANFILES += timer.rel
+timer_rel_SOURCES = timer/timer.c
+timer_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+timer_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += timer_g.rel
+CLEANFILES += timer_g.rel
+timer_g_rel_SOURCES = $(timer_rel_SOURCES)
+timer_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+timer_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += timer$(LIB_VARIANT).rel
+
+if HAS_MP
+EXTRA_PROGRAMS += shmsupp.rel
+CLEANFILES += shmsupp.rel
+shmsupp_rel_SOURCES = shmsupp/addrconv.c shmsupp/getcfg.c \
+ shmsupp/cause_intr.c shmsupp/lock.c shmsupp/mpisr.c
+shmsupp_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+shmsupp_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += shmsupp_g.rel
+CLEANFILES += shmsupp_g.rel
+shmsupp_g_rel_SOURCES = $(shmsupp_rel_SOURCES)
+shmsupp_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+shmsupp_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += shmsupp$(LIB_VARIANT).rel
+endif
+
+EXTRA_LIBRARIES = libbsp.a
+CLEANFILES += libbsp.a
+libbsp_a_SOURCES =
+libbsp_a_LIBADD = startup$(LIB_VARIANT).rel clock$(LIB_VARIANT).rel \
+ console$(LIB_VARIANT).rel timer$(LIB_VARIANT).rel
+if HAS_MP
+libbsp_a_LIBADD += shmsupp$(LIB_VARIANT).rel
+endif
+EXTRA_LIBRARIES += libbsp_g.a
+CLEANFILES += libbsp_g.a
+libbsp_g_a_SOURCES = $(libbsp_a_SOURCES)
+libbsp_g_a_LIBADD = $(libbsp_a_LIBADD)
+
+noinst_DATA += libbsp$(LIB_VARIANT).a
+
+all-local: $(PREINSTALL_FILES) $(TMPINSTALL_FILES)
EXTRA_DIST = times
PREINSTALL_DIRS =
+TMPINSTALL_FILES =
-$(PROJECT_INCLUDE)/coverhd.h: $(top_srcdir)/../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
+$(PROJECT_INCLUDE)/coverhd.h: ../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
-CLEANFILES = $(PREINSTALL_FILES)
+if HAS_CXX
+$(PROJECT_LIB)/rtems-ctor$(LIB_VARIANT).$(OBJEXT): rtems-ctor$(LIB_VARIANT).$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/rtems-ctor$(LIB_VARIANT).$(OBJEXT)
+TMPINSTALL_FILES += $(PROJECT_LIB)/rtems-ctor$(LIB_VARIANT).$(OBJEXT)
+
+$(PROJECT_LIB)/no-ctor$(LIB_VARIANT).$(OBJEXT): no-ctor$(LIB_VARIANT).$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/no-ctor$(LIB_VARIANT).$(OBJEXT)
+TMPINSTALL_FILES += $(PROJECT_LIB)/no-ctor$(LIB_VARIANT).$(OBJEXT)
+endif
+
+CLEANFILES += $(PREINSTALL_FILES)
DISTCLEANFILES = $(PREINSTALL_DIRS)
+CLEANFILES += $(TMPINSTALL_FILES)
-include $(top_srcdir)/../../../../automake/subdirs.am
include $(top_srcdir)/../../../../automake/local.am