summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/hppa1.1
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1997-04-01 23:07:52 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1997-04-01 23:07:52 +0000
commit254b4450718a0873b444d35aeb6d74ba589734ea (patch)
tree0615a270d7b384c7394eb57290f4b6b92ed20706 /c/src/lib/libbsp/hppa1.1
parentFixed symbols. (diff)
downloadrtems-254b4450718a0873b444d35aeb6d74ba589734ea.tar.bz2
This set of changes is the build of what was required to convert to
GNU autoconf. This is the first large step in allowing an RTEMS user to perform a one-tree build (per crossgcc FAQ) including RTEMS in the build process. With this change RTEMS is configured in built in the same style as the GNU tools, yet retains the basic structure of its traditional Makefiles (ala Tony Bennett). Jiri Gaisler (jgais@wd.estec.esa.nl) deserves (and received) a big thank you for doing this. There are still issues to be resolved but as of this commit, all target which can be built on a linux host have been using a modified version of the source Jiri submitted. This source was merged and most targets built in the tree before this commit. There are some issues which remain to be resolved but they are primarily related to host OS dependencies, script issues, the use of gawk for hack_specs, and the dependence on gcc snapshots. These will be resolved.
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/hppa1.1/Makefile.in14
-rw-r--r--c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in49
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/Makefile.in16
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/bsp_specs34
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/include/Makefile.in40
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/Makefile.in54
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/start/start.s169
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/startup/Makefile.in61
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c2
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in51
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/tty/Makefile.in54
-rw-r--r--c/src/lib/libbsp/hppa1.1/simhppa/wrapup/Makefile.in53
12 files changed, 596 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/hppa1.1/Makefile.in b/c/src/lib/libbsp/hppa1.1/Makefile.in
new file mode 100644
index 0000000000..a92e20d55e
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/Makefile.in
@@ -0,0 +1,14 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# Descend into the $(RTEMS_BSP) directory if it exists
+SUB_DIRS=$(wildcard $(RTEMS_BSP))
diff --git a/c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in b/c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in
new file mode 100644
index 0000000000..000c6435cb
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in
@@ -0,0 +1,49 @@
+#
+# Build the pixelflow bsp by cd'ing into another floss tree and
+# building it there.
+#
+# NOTE: we also jump sideways in rtems tree and install test/support/include
+# so that floss tests can use the rtems test structures
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+SRCS=$(srcdir)/floss-bsp.h
+
+# HACK alert
+# on a 'make -k' we don't want to bomb out of build
+EXIT_CMD=exit 1
+ifeq (k, $(findstring k, $(MAKEFLAGS)))
+EXIT_CMD=true
+endif
+
+
+all install::
+ @$(ECHO); $(ECHO)
+ @if [ ! -d $(FLOSS_ROOT) ]; \
+ then \
+ $(ECHO) "*** ERROR FLOSS_ROOT ($(FLOSS_ROOT)) points to nonexistent directory"; \
+ $(ECHO); $(ECHO); \
+ $(EXIT_CMD); \
+ fi
+ @if [ -f $(FLOSS_ROOT)/PURE ]; \
+ then \
+ $(ECHO) "*** Assuming $(FLOSS_HOME) up to date since ./PURE exists"; \
+ else \
+ cmd="cd $(RTEMS_ROOT)/c/src/tests/support/include; $(MAKE) install"; \
+ $(ECHO) $$cmd; \
+ eval $$cmd || $(EXIT_CMD); \
+ cmd="cd $(FLOSS_ROOT); $(MAKE) $@"; \
+ $(ECHO) $$cmd; \
+ eval $$cmd || $(EXIT_CMD); \
+ fi
+ @$(ECHO); $(ECHO)
+ $(INSTALL) -m 444 $(srcdir)/floss-bsp.h $(PROJECT_RELEASE)/include/bsp.h
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/Makefile.in
new file mode 100644
index 0000000000..8894da86a3
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/Makefile.in
@@ -0,0 +1,16 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+# NOTE: we pick up HPPA clock and timer from libcpu/hppa
+SUB_DIRS=tools include startup tty shmsupp wrapup
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/bsp_specs b/c/src/lib/libbsp/hppa1.1/simhppa/bsp_specs
new file mode 100644
index 0000000000..827767f3d6
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/bsp_specs
@@ -0,0 +1,34 @@
+
+predefines:
+-D__embedded__ -Asystem(embedded)
+
+startfile: replace
+mrtems:
+pg: start.o%s
+{!pg:
+g: start.o%s
+{!g:
+p: start.o%s
+!p: start.o%s
+}}
+{!mrtems:
+pg: pgcrt0%O
+{!pg:
+g: gcrt0%O
+{!g:
+p: pcrt0%O
+!p: crt0%O
+}}}
+
+
+link: replace
+mrtems: -dc -dp -N -e start
+
+lib: replace
+mrtems: -( -lc -lrtemsall -lgcc -)
+
+
+libgcc: replace
+
+
+
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/include/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/include/Makefile.in
new file mode 100644
index 0000000000..6362ab657e
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/include/Makefile.in
@@ -0,0 +1,40 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_PIECES = bsp coverhd
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+RTEMS_H_PIECES = ttydrv
+RTEMS_H_FILES=$(RTEMS_H_PIECES:%=$(srcdir)/%.h)
+
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+# If you add equate files, don't forget to uncomment the install line
+# below.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+ $(INSTALL) -m 444 $(RTEMS_H_FILES) ${PROJECT_RELEASE}/include/rtems
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/Makefile.in
new file mode 100644
index 0000000000..f0836ef414
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/shmsupp.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=addrconv getcfg intr lock mpisr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/start/start.s b/c/src/lib/libbsp/hppa1.1/simhppa/start/start.s
new file mode 100644
index 0000000000..92fda897d9
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/start/start.s
@@ -0,0 +1,169 @@
+/*
+ * crt0.S -- startup file for hppa on RTEMS
+ *
+ * $Id$
+ */
+
+ .COPYRIGHT "crt0.S for hppa"
+
+ .DATA
+
+_progname .STRINGZ "simhppa"
+_crt0_argv .WORD _progname, 0
+
+/*
+ * Set up the standard spaces (sections) These definitions come
+ * from /lib/pcc_prefix.s.
+ */
+ .TEXT
+
+/*
+ * stuff we need that is defined elsewhere.
+ */
+ .IMPORT main, CODE
+ .IMPORT _bss_start, DATA
+ .IMPORT _bss_end, DATA
+ .IMPORT environ, DATA
+
+/*
+ * start -- set things up so the application will run.
+ *
+ */
+ .PROC
+ .CALLINFO SAVE_SP, FRAME=48
+ .EXPORT $START$,ENTRY
+ .EXPORT start,ENTRY
+$START$
+start:
+
+/*
+ * Get a stack
+ */
+
+ ldil L%crt_stack+48,%r30
+ ldo R%crt_stack+48(%r30),%r30
+
+/*
+ * we need to set %r27 (global data pointer) here
+ */
+
+ ldil L%$global$,%r27
+ ldo R%$global$(%r27),%r27
+
+/*
+ * zerobss -- zero out the bss section
+ * XXX We don't do this since simulator and boot rom will do this for us.
+ */
+#if 0
+ ; load the start of bss
+ ldil L%_bss_start,%r4
+ ldo R%_bss_start(%r4),%r4
+
+ ; load the end of bss
+ ldil L%_bss_end,%r5
+ ldo R%_bss_end(%r5),%r5
+
+
+bssloop
+ addi -1,%r5,%r5 ; decrement _bss_end
+ stb %r0,0(0,%r5) ; we do this by bytes for now even
+ ; though it is slower, it is safer
+ combf,= %r4,%r5, bssloop
+ nop
+#endif
+
+ ldi 1,%ret0
+
+/*
+ * Call the "main" routine from the application to get it going.
+ * We call it as main(1, argv, 0)
+ */
+
+ copy %r0, %r24
+
+ ldil L%_crt0_argv,%r25
+ ldo R%_crt0_argv(%r25),%r25
+
+ bl main,%r2
+ ldo 1(%r0), %r26
+
+ .PROCEND
+/*
+ * _exit -- Exit from the application. Normally we cause a user trap
+ * to return to the ROM monitor for another run, but with
+ * this monitor we can not. Still, "C" wants this symbol, it
+ * should be here. Jumping to 0xF0000004 jumps back into the
+ * firmware, while writing a 5 to 0xFFFE0030 causes a reset.
+ */
+_exit_fallthru
+ .PROC
+ .CALLINFO
+ .ENTRY
+
+ ;; This just causes a breakpoint exception
+ break 0x0,0x0
+ bv,n (%rp)
+ nop
+ .EXIT
+ .PROCEND
+
+/*
+ * _sr4export -- support for called functions. (mostly for GDB)
+ */
+ .EXPORT _sr4export, ENTRY
+_sr4export:
+ .PROC
+ .CALLINFO
+ .ENTRY
+
+ ble 0(%sr4,%r22)
+ copy %r31,%rp
+ ldw -18(%sr0,%sp),%rp
+ ldsid (%sr0,%rp),%r1
+ mtsp %r1,%sr0
+ be,n 0(%sr0,%rp)
+ nop
+ .EXIT
+ .PROCEND
+
+
+ .subspa $UNWIND_START$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=56
+ .export $UNWIND_START
+$UNWIND_START
+ .subspa $UNWIND$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=64
+ .subspa $UNWIND_END$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=72
+ .export $UNWIND_END
+$UNWIND_END
+ .subspa $RECOVER_START$,QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=73
+ .export $RECOVER_START
+$RECOVER_START
+ .subspa $RECOVER$,QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=80
+ .subspa $RECOVER_END$,QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=88
+ .export $RECOVER_END
+$RECOVER_END
+
+/*
+ * Here we set up the standard date sub spaces.
+ *
+ * Set up some room for a stack. We just grab a chunk of memory.
+ * We also setup some space for the global variable space, which
+ * must be done using the reserved name "$global$" so "C" code
+ * can find it. The stack grows towards the higher addresses.
+ */
+
+ .subspa $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=16
+ .subspa $SHORTDATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24
+ .subspa $GLOBAL$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40
+ .export $global$
+$global$
+ .subspa $SHORTBSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=80,ZERO
+ .subspa $BSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82,ZERO
+
+ .subspa $STACK$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=88,ZERO
+
+ .export crt_stack
+crt_stack
+ .comm 0x1000
+
+ .end
+
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/startup/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/startup/Makefile.in
new file mode 100644
index 0000000000..9474f53521
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/startup/Makefile.in
@@ -0,0 +1,61 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+CC_PIECES=rtems-ctor
+CC_FILES=$(CC_PIECES:%=%.cc)
+CC_O_FILES=$(CC_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+# We install the RTEMS constructor as a separate .o
+# so it can be easily place correctly by the compiler config file.
+INSTALLED_O_FILES=$(ARCH)/rtems-ctor.o
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(INSTALLED_O_FILES) $(PGM)
+ $(INSTALL_VARIANT) $(INSTALLED_O_FILES) ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c b/c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c
index ec49abe2bf..78b028dde3 100644
--- a/c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c
@@ -348,7 +348,7 @@ bsp_start(void)
Cpu_table.itimer_clicks_per_microsecond = 1;
-#ifdef 0
+#if 0
/*
* Commented by DIVISION INC. External interrupt
* processing is now divorced from RTEMS for HPPA.
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in
new file mode 100644
index 0000000000..57315a8cda
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in
@@ -0,0 +1,51 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# we use host compiler here for genoffsets. Hopefully it has same alignment!!
+USE_HOST_COMPILER=yes
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=print_dump
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+PGMS=${ARCH}/print_dump
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here.
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(PGMS)
+ $(INSTALL) -m 555 ${PGMS} ${PROJECT_RELEASE}/bin
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/tty/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/tty/Makefile.in
new file mode 100644
index 0000000000..ddaf3924e5
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/tty/Makefile.in
@@ -0,0 +1,54 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/tty.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=tty
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+ $(make-rel)
+
+all: ${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install: all
+
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/wrapup/Makefile.in b/c/src/lib/libbsp/hppa1.1/simhppa/wrapup/Makefile.in
new file mode 100644
index 0000000000..ffcb245350
--- /dev/null
+++ b/c/src/lib/libbsp/hppa1.1/simhppa/wrapup/Makefile.in
@@ -0,0 +1,53 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup tty shmsupp
+# pieces to pick up out of libcpu/hppa
+CPU_PIECES=clock milli timer
+GENERIC_PIECES=shmdr
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(CPU_PIECES), \
+ ../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), \
+ ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+