[20db683] | 1 | ## |
---|
| 2 | ## $Id$ |
---|
| 3 | ## |
---|
| 4 | |
---|
[fed6210d] | 5 | include $(top_srcdir)/automake/multilib.am |
---|
[d7a7573] | 6 | include $(top_srcdir)/automake/amcompile.am |
---|
| 7 | |
---|
| 8 | ## Setup the variant build subdirectory |
---|
| 9 | ARCH_OPTIMIZE_V = o-optimize |
---|
| 10 | ARCH_DEBUG_V = o-debug |
---|
| 11 | |
---|
| 12 | ARCH__V = $(ARCH_OPTIMIZE_V) |
---|
| 13 | ARCH = $(ARCH_$(VARIANT_V)_V) |
---|
| 14 | |
---|
| 15 | ${ARCH}/$(dirstamp): |
---|
| 16 | @$(mkdir_p) $(ARCH) |
---|
| 17 | @: > $(ARCH)/$(dirstamp) |
---|
[20db683] | 18 | |
---|
[731656e9] | 19 | project_lib_DATA = $(ARCH)/librtemscpu$(LIB_VARIANT).a |
---|
| 20 | |
---|
[33e6983] | 21 | LIBS = |
---|
[2a582aa5] | 22 | if LIBSCORECPU |
---|
[33e6983] | 23 | LIBS += ../score/cpu/$(RTEMS_CPU)/$(ARCH)/libscorecpu.a |
---|
[2a582aa5] | 24 | endif |
---|
[98715202] | 25 | LIBS += ../score/libscore$(LIB_VARIANT).a |
---|
| 26 | LIBS += ../sapi/libsapi$(LIB_VARIANT).a |
---|
| 27 | LIBS += ../rtems/librtems$(LIB_VARIANT).a |
---|
[20db683] | 28 | |
---|
| 29 | if HAS_POSIX |
---|
[98715202] | 30 | LIBS += ../posix/libposix$(LIB_VARIANT).a |
---|
[20db683] | 31 | endif |
---|
| 32 | |
---|
| 33 | if HAS_ITRON |
---|
[98715202] | 34 | LIBS += ../itron/libitron$(LIB_VARIANT).a |
---|
[20db683] | 35 | endif |
---|
| 36 | |
---|
[3e168eca] | 37 | LIBS += ../libcsupport/libcsupport$(LIB_VARIANT).a |
---|
[90926129] | 38 | |
---|
[3e168eca] | 39 | LIBS += ../libblock/libblock$(LIB_VARIANT).a |
---|
[35cd6ae] | 40 | if !UNIX |
---|
[98715202] | 41 | LIBS += ../libfs/libdosfs$(LIB_VARIANT).a |
---|
[35cd6ae] | 42 | endif |
---|
[98715202] | 43 | LIBS += ../libfs/libimfs$(LIB_VARIANT).a |
---|
[35cd6ae] | 44 | |
---|
[98715202] | 45 | LIBS += ../libmisc/libmonitor$(LIB_VARIANT).a |
---|
| 46 | LIBS += ../libmisc/libuntar$(LIB_VARIANT).a |
---|
| 47 | LIBS += ../libmisc/libstackchk$(LIB_VARIANT).a |
---|
| 48 | LIBS += ../libmisc/libcpuuse$(LIB_VARIANT).a |
---|
| 49 | LIBS += ../libmisc/librtmonuse$(LIB_VARIANT).a |
---|
[22ade8e1] | 50 | |
---|
| 51 | ## XXX temporarily removed because it causes a |
---|
| 52 | ## XXX number of BSPs to not link "main(){}" used by autoconf |
---|
| 53 | # if LIBSERDBG |
---|
[98715202] | 54 | # LIBS += ../libmisc/libserdbg$(LIB_VARIANT).a |
---|
[22ade8e1] | 55 | # endif |
---|
| 56 | |
---|
| 57 | if LIBSHELL |
---|
[98715202] | 58 | LIBS += ../libmisc/libshell$(LIB_VARIANT).a |
---|
[22ade8e1] | 59 | endif |
---|
| 60 | |
---|
[98715202] | 61 | LIBS += ../libmisc/libdumpbuf$(LIB_VARIANT).a |
---|
| 62 | LIBS += ../libmisc/libdevnull$(LIB_VARIANT).a |
---|
| 63 | LIBS += ../libmisc/libdummy$(LIB_VARIANT).a |
---|
| 64 | LIBS += ../libmisc/libmw-fb$(LIB_VARIANT).a |
---|
| 65 | LIBS += ../libmisc/libcapture$(LIB_VARIANT).a |
---|
| 66 | LIBS += ../libmisc/libfsmount$(LIB_VARIANT).a |
---|
[c2a2fff] | 67 | |
---|
[3e39b47] | 68 | if HAS_NETWORKING |
---|
[98715202] | 69 | LIBS += ../libnetworking/libnetworking$(LIB_VARIANT).a |
---|
| 70 | LIBS += ../libnetworking/libc$(LIB_VARIANT).a |
---|
| 71 | LIBS += ../libnetworking/lib$(LIB_VARIANT).a |
---|
[2a582aa5] | 72 | endif |
---|
| 73 | |
---|
| 74 | if LIBRPC |
---|
[98715202] | 75 | LIBS += ../librpc/librpc$(LIB_VARIANT).a |
---|
| 76 | LIBS += ../librpc/libxdr$(LIB_VARIANT).a |
---|
[3e39b47] | 77 | endif |
---|
| 78 | |
---|
[5ef82f97] | 79 | $(LIBS): $(ARCH)/$(dirstamp) |
---|
| 80 | |
---|
[731656e9] | 81 | $(ARCH)/librtemscpu$(LIB_VARIANT).a: ${LIBS} |
---|
[3e39b47] | 82 | rm -f $@ |
---|
[5ef82f97] | 83 | rm -rf $(ARCH)/*.$(OBJEXT) $(ARCH)/*.rel |
---|
[33e6983] | 84 | for f in $(LIBS); do \ |
---|
[3e39b47] | 85 | case $$f in \ |
---|
[305dd8bd] | 86 | *.$(OBJEXT) | *.rel) \ |
---|
[3e39b47] | 87 | if test -f $(ARCH)/`basename $$f`; then \ |
---|
| 88 | if cmp $$f $(ARCH)/`basename $$f`; then \ |
---|
| 89 | true; \ |
---|
| 90 | else \ |
---|
| 91 | echo 1>&2 "ERROR -- `basename $$f` in multiple files"; \ |
---|
| 92 | exit 1; \ |
---|
| 93 | fi; \ |
---|
| 94 | else \ |
---|
| 95 | cp $$f $(ARCH)/; \ |
---|
| 96 | chmod a-w $(ARCH)/`basename $$f`; \ |
---|
| 97 | fi; \ |
---|
| 98 | ;; \ |
---|
| 99 | *.a) \ |
---|
| 100 | cd $(ARCH); \ |
---|
| 101 | $(AR) xv ../$$f || exit 1; \ |
---|
| 102 | chmod a-w * ; \ |
---|
| 103 | cd ..; \ |
---|
| 104 | ;; \ |
---|
| 105 | esac; \ |
---|
| 106 | done |
---|
| 107 | $(AR) rc $@ $(ARCH)/* |
---|
[5ef82f97] | 108 | rm -f $(ARCH)/*.$(OBJEXT) $(ARCH)/*.rel |
---|
[3e39b47] | 109 | $(RANLIB) $@ |
---|
[20db683] | 110 | |
---|
[731656e9] | 111 | all-local: $(TMPINSTALL_FILES) |
---|
[20db683] | 112 | |
---|
[526a860] | 113 | TMPINSTALL_FILES = |
---|
| 114 | |
---|
[efe9ef4] | 115 | $(PROJECT_LIB)/$(dirstamp): |
---|
| 116 | @$(mkdir_p) $(PROJECT_LIB) |
---|
| 117 | @: > $(PROJECT_LIB)/$(dirstamp) |
---|
| 118 | |
---|
| 119 | $(PROJECT_LIB)/librtemscpu$(LIB_VARIANT).a: $(ARCH)/librtemscpu$(LIB_VARIANT).a $(PROJECT_LIB)/$(dirstamp) |
---|
| 120 | $(INSTALL_DATA) $< $(PROJECT_LIB)/librtemscpu$(LIB_VARIANT).a |
---|
| 121 | TMPINSTALL_FILES += $(PROJECT_LIB)/librtemscpu$(LIB_VARIANT).a |
---|
[20db683] | 122 | |
---|
[fed6210d] | 123 | include $(top_srcdir)/automake/local.am |
---|