[4bdebdfe] | 1 | ## |
---|
| 2 | ## $Id$ |
---|
| 3 | ## |
---|
[c672d97] | 4 | ## build and install "glommed" librtemsbsp.a |
---|
[4bdebdfe] | 5 | ## |
---|
[23e3f642] | 6 | |
---|
[514e77b7] | 7 | include $(top_srcdir)/automake/compile.am |
---|
[11cafc0] | 8 | |
---|
| 9 | ## Setup the variant build subdirectory |
---|
| 10 | ARCH_OPTIMIZE_V = o-optimize |
---|
| 11 | ARCH_DEBUG_V = o-debug |
---|
[5e5cf07] | 12 | |
---|
[11cafc0] | 13 | ARCH__V = $(ARCH_OPTIMIZE_V) |
---|
| 14 | ARCH = $(ARCH_$(VARIANT_V)_V) |
---|
[23e3f642] | 15 | |
---|
[0e31ed7] | 16 | project_lib_DATA = $(ARCH)/librtemsbsp$(LIB_VARIANT).a |
---|
[11cafc0] | 17 | CLEANFILES = o-optimize/librtemsbsp.a |
---|
| 18 | CLEANFILES += o-debug/librtemsbsp_g.a |
---|
[f92cc34] | 19 | |
---|
[ca1531c5] | 20 | SRCS = ../support/libsupport$(LIB_VARIANT).a |
---|
[3c55718] | 21 | |
---|
| 22 | if HAS_LIBBSP |
---|
[171a04c] | 23 | if HAS_WRAPUP_LIBBSP |
---|
[0e31ed7] | 24 | SRCS += \ |
---|
| 25 | ../lib/libbsp/@RTEMS_CPU@/@RTEMS_BSP_FAMILY@/wrapup/$(ARCH)/libbsp.a |
---|
[171a04c] | 26 | else |
---|
[5e5cf07] | 27 | SRCS += ../lib/libbsp/@RTEMS_CPU@/@RTEMS_BSP_FAMILY@/libbsp$(LIB_VARIANT).a |
---|
[171a04c] | 28 | endif |
---|
[3c55718] | 29 | endif |
---|
| 30 | |
---|
[4bdebdfe] | 31 | if HAS_NETWORKING |
---|
[7c5a840] | 32 | if HAS_POSIX |
---|
| 33 | SRCS += ../libnetworking/rtems_webserver/libhttpd$(LIB_VARIANT).a |
---|
| 34 | endif |
---|
| 35 | SRCS += ../libnetworking/pppd/libpppd$(LIB_VARIANT).a |
---|
| 36 | SRCS += ../libnetworking/rtems_servers/libftpd$(LIB_VARIANT).a |
---|
| 37 | SRCS += ../libnetworking/rtems_telnetd/libtelnetd$(LIB_VARIANT).a |
---|
[4bdebdfe] | 38 | endif |
---|
| 39 | |
---|
| 40 | if HAS_RDBG |
---|
[e7495ae] | 41 | SRCS += ../librdbg/librdbg$(LIB_VARIANT).a |
---|
[4bdebdfe] | 42 | endif |
---|
| 43 | |
---|
[11cafc0] | 44 | # FIXME: ATM, there is no libcpu.a, anymore. |
---|
| 45 | # SRCS += $(wildcard $(PROJECT_LIB)/libcpu$(LIB_VARIANT).a) |
---|
[082972a] | 46 | |
---|
[67bfd9a6] | 47 | if LIBCHIP |
---|
[ebff819] | 48 | SRCS += ../libchip/librtcio$(LIB_VARIANT).a |
---|
| 49 | SRCS += ../libchip/libserialio$(LIB_VARIANT).a |
---|
| 50 | SRCS += ../libchip/libide$(LIB_VARIANT).a |
---|
[0e31ed7] | 51 | if HAS_NETWORKING |
---|
[ebff819] | 52 | SRCS += ../libchip/libnetchip$(LIB_VARIANT).a |
---|
[0e31ed7] | 53 | endif |
---|
[67bfd9a6] | 54 | endif |
---|
| 55 | |
---|
[0724887f] | 56 | SRCS += $(wildcard $(PROJECT_LIB)/lib/rtems-ctor$(LIB_VARIANT).$(OBJEXT)) |
---|
[23e3f642] | 57 | |
---|
[a099e9a] | 58 | if HAS_MP |
---|
[477180fa] | 59 | SRCS += ../libchip/shmdr$(LIB_VARIANT).rel |
---|
[a099e9a] | 60 | endif |
---|
| 61 | |
---|
[0e31ed7] | 62 | all-local: $(TMPINSTALL_FILES) |
---|
[23e3f642] | 63 | |
---|
[11cafc0] | 64 | $(ARCH)/librtemsbsp$(LIB_VARIANT).a: $(SRCS) |
---|
| 65 | rm -f $@ |
---|
| 66 | $(mkdir_p) $(ARCH) |
---|
[0e31ed7] | 67 | rm -rf $(ARCH)/*.a $(ARCH)/*.$(OBJEXT) $(ARCH)/*.rel |
---|
[4bdebdfe] | 68 | for f in $(SRCS); do \ |
---|
[23e3f642] | 69 | case $$f in \ |
---|
[55ac4e1] | 70 | *.$(OBJEXT) | *.rel) \ |
---|
[4bdebdfe] | 71 | if test -f $(ARCH)/`basename $$f`; then \ |
---|
| 72 | if cmp $$f $(ARCH)/`basename $$f`; then \ |
---|
| 73 | true; \ |
---|
| 74 | else \ |
---|
| 75 | echo 1>&2 "ERROR -- `basename $$f` in multiple files"; \ |
---|
| 76 | exit 1; \ |
---|
| 77 | fi; \ |
---|
| 78 | else \ |
---|
| 79 | cp $$f $(ARCH)/; \ |
---|
| 80 | chmod a-w $(ARCH)/`basename $$f`; \ |
---|
| 81 | fi; \ |
---|
[23e3f642] | 82 | ;; \ |
---|
| 83 | *.a) \ |
---|
[ec5afe0] | 84 | cd $(ARCH); \ |
---|
| 85 | $(AR) xv ../$$f || exit 1; \ |
---|
| 86 | chmod a-w * ; \ |
---|
| 87 | cd ..; \ |
---|
[23e3f642] | 88 | ;; \ |
---|
| 89 | esac; \ |
---|
[4bdebdfe] | 90 | done |
---|
| 91 | $(AR) rc $@ $(ARCH)/* |
---|
[11cafc0] | 92 | rm -f $(ARCH)/*.$(OBJEXT) $(ARCH)/*.rel |
---|
[4bdebdfe] | 93 | $(RANLIB) $@ |
---|
[23e3f642] | 94 | |
---|
[0724887f] | 95 | TMPINSTALL_FILES = |
---|
| 96 | |
---|
[b946613] | 97 | $(PROJECT_LIB)/$(dirstamp): |
---|
| 98 | @$(mkdir_p) $(PROJECT_LIB) |
---|
| 99 | @: > $(PROJECT_LIB)/$(dirstamp) |
---|
[5e5cf07] | 100 | PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp) |
---|
[795d9d46] | 101 | |
---|
[b946613] | 102 | $(PROJECT_LIB)/librtemsbsp$(LIB_VARIANT).a: $(ARCH)/librtemsbsp$(LIB_VARIANT).a $(PROJECT_LIB)/$(dirstamp) |
---|
| 103 | $(INSTALL_DATA) $< $(PROJECT_LIB)/librtemsbsp$(LIB_VARIANT).a |
---|
| 104 | TMPINSTALL_FILES += $(PROJECT_LIB)/librtemsbsp$(LIB_VARIANT).a |
---|
[2984cf1b] | 105 | |
---|
[5e5cf07] | 106 | DISTCLEANFILES = $(PREINSTALL_DIRS) |
---|
[11cafc0] | 107 | CLEANFILES += $(TMPINSTALL_FILES) |
---|
[0724887f] | 108 | |
---|
[514e77b7] | 109 | include $(top_srcdir)/automake/local.am |
---|