source: rtems/c/src/lib/libbsp/sparc/leon2/Makefile.am @ 2afb22b

5
Last change on this file since 2afb22b was 2afb22b, checked in by Chris Johns <chrisj@…>, on 12/23/17 at 07:18:56

Remove make preinstall

A speciality of the RTEMS build system was the make preinstall step. It
copied header files from arbitrary locations into the build tree. The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

  • The make preinstall step itself needs time and disk space.
  • Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error.
  • There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult.
  • The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit.
  • An introduction of a new build system is difficult.
  • Include paths specified by the -B option are system headers. This may suppress warnings.
  • The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step. All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

  • cpukit/include
  • cpukit/score/cpu/@RTEMS_CPU@/include
  • cpukit/libnetworking

The new BSP include directories are:

  • bsps/include
  • bsps/@RTEMS_CPU@/include
  • bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed. The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.

  • Property mode set to 100644
File size: 6.9 KB
Line 
1ACLOCAL_AMFLAGS = -I ../../../../aclocal
2EXTRA_DIST =
3
4include $(top_srcdir)/../../../../automake/compile.am
5include $(top_srcdir)/../../bsp.am
6
7dist_project_lib_DATA = startup/bsp_specs
8
9DISTCLEANFILES = include/bspopts.h
10
11noinst_PROGRAMS =
12
13
14EXTRA_DIST += ../../sparc/shared/start/start.S
15start.$(OBJEXT): ../../sparc/shared/start/start.S
16        $(CPPASCOMPILE) -o $@ -c $<
17project_lib_DATA = start.$(OBJEXT)
18
19project_lib_DATA += linkcmds
20dist_project_lib_DATA += ../shared/startup/linkcmds.base
21dist_project_lib_DATA += startup/linkcmds.at697f
22dist_project_lib_DATA += startup/linkcmds.leon2
23
24noinst_LIBRARIES = libbsp.a
25libbsp_a_SOURCES =
26
27# startup
28libbsp_a_SOURCES += ../../shared/bspclean.c
29libbsp_a_SOURCES += startup/bsppredriver.c
30libbsp_a_SOURCES += ../../shared/bspreset.c
31libbsp_a_SOURCES += startup/bspstart.c
32libbsp_a_SOURCES += ../../sparc/shared/startup/bspgetworkarea.c
33libbsp_a_SOURCES += ../../shared/bootcard.c
34libbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c
35libbsp_a_SOURCES += ../../shared/sbrk.c
36libbsp_a_SOURCES += startup/setvec.c
37libbsp_a_SOURCES += startup/spurious.c
38libbsp_a_SOURCES += startup/bspidle.c
39libbsp_a_SOURCES += startup/bspdelay.c
40libbsp_a_SOURCES += ../../sparc/shared/startup/bsp_fatal_exit.c
41libbsp_a_SOURCES += ../../sparc/shared/startup/bsp_fatal_halt.c
42
43# ISR Handler
44libbsp_a_SOURCES += ../../sparc/shared/cpu.c
45libbsp_a_SOURCES += ../../sparc/shared/irq_asm.S
46# gnatsupp
47libbsp_a_SOURCES += gnatsupp/gnatsupp.c ../../sparc/shared/gnatcommon.c
48# console
49libbsp_a_SOURCES += console/console.c console/debugputs.c
50# clock
51libbsp_a_SOURCES += clock/ckinit.c
52libbsp_a_SOURCES += ../../shared/clockdrv_shell.h
53# IRQ
54libbsp_a_SOURCES += ../../sparc/shared/irq/genirq.c
55libbsp_a_SOURCES += \
56    ../../sparc/shared/irq/irq-shared.c \
57    ../../sparc/shared/irq/bsp_isr_handler.c \
58    ../../shared/src/irq-default-handler.c \
59    ../../shared/src/irq-generic.c \
60    ../../shared/src/irq-info.c \
61    ../../shared/src/irq-legacy.c \
62    ../../shared/src/irq-server.c \
63    ../../shared/src/irq-shell.c
64
65# AMBA bus
66libbsp_a_SOURCES += ../../sparc/shared/amba/ambapp.c
67libbsp_a_SOURCES += ../../sparc/shared/amba/ambapp_alloc.c
68libbsp_a_SOURCES += ../../sparc/shared/amba/ambapp_count.c
69libbsp_a_SOURCES += ../../sparc/shared/amba/ambapp_depth.c
70libbsp_a_SOURCES += ../../sparc/shared/amba/ambapp_find_by_idx.c
71libbsp_a_SOURCES += ../../sparc/shared/amba/ambapp_freq.c
72libbsp_a_SOURCES += ../../sparc/shared/amba/ambapp_parent.c
73libbsp_a_SOURCES += ../../sparc/shared/amba/ambapp_old.c
74libbsp_a_SOURCES += ../../sparc/shared/amba/ambapp_names.c
75libbsp_a_SOURCES += ../../sparc/shared/amba/ambapp_show.c
76libbsp_a_SOURCES += ../../sparc/shared/amba/ahbstat.c
77
78# Clock Driver and Timer Library
79libbsp_a_SOURCES += ../../sparc/shared/timer/gptimer.c
80libbsp_a_SOURCES += ../../sparc/shared/timer/tlib.c
81
82# PCI
83libbsp_a_SOURCES += ../../sparc/shared/pci/grpci2.c
84libbsp_a_SOURCES += ../../sparc/shared/pci/grpci2dma.c
85libbsp_a_SOURCES += ../../sparc/shared/pci/grpci.c
86libbsp_a_SOURCES += ../../sparc/shared/pci/pcif.c
87libbsp_a_SOURCES +=  ../../sparc/shared/pci/pci_memreg_sparc_le.c
88libbsp_a_SOURCES +=  ../../sparc/shared/pci/pci_memreg_sparc_be.c
89libbsp_a_SOURCES +=  pci/at697_pci.c
90
91# PCI target devices
92libbsp_a_SOURCES +=  ../../sparc/shared/pci/gr_701.c
93libbsp_a_SOURCES +=  ../../sparc/shared/pci/gr_rasta_adcdac.c
94libbsp_a_SOURCES +=  ../../sparc/shared/pci/gr_rasta_io.c
95libbsp_a_SOURCES +=  ../../sparc/shared/pci/gr_rasta_spw_router.c
96libbsp_a_SOURCES +=  ../../sparc/shared/pci/gr_rasta_tmtc.c
97libbsp_a_SOURCES +=  ../../sparc/shared/pci/gr_leon4_n2x.c
98libbsp_a_SOURCES +=  ../../sparc/shared/pci/gr_cpci_gr740.c
99
100# B1553BRM
101libbsp_a_SOURCES += ../../sparc/shared/1553/b1553brm.c
102libbsp_a_SOURCES += ../../sparc/shared/1553/b1553rt.c
103
104# GR1553B
105libbsp_a_SOURCES += ../../sparc/shared/1553/gr1553b.c
106libbsp_a_SOURCES += ../../sparc/shared/1553/gr1553bc.c
107libbsp_a_SOURCES += ../../sparc/shared/1553/gr1553bm.c
108libbsp_a_SOURCES += ../../sparc/shared/1553/gr1553rt.c
109
110# CAN
111libbsp_a_SOURCES += ../../sparc/shared/can/occan.c \
112    ../../sparc/shared/can/grcan.c
113
114# SpaceWire
115if !HAS_SMP
116libbsp_a_SOURCES += ../../sparc/shared/spw/grspw.c
117endif
118libbsp_a_SOURCES += ../../sparc/shared/spw/grspw_pkt.c
119libbsp_a_SOURCES += ../../sparc/shared/spw/grspw_router.c
120
121# UART (RAW)
122# I2CMST
123libbsp_a_SOURCES += ../../sparc/shared/i2c/i2cmst.c
124
125# SPI
126libbsp_a_SOURCES += ../../sparc/shared/spi/spictrl.c
127
128# TIME
129libbsp_a_SOURCES += ../../sparc/shared/time/spwcuc.c
130libbsp_a_SOURCES += ../../sparc/shared/time/grctm.c
131
132# GPIO
133libbsp_a_SOURCES += ../../sparc/shared/gpio/grgpio.c
134libbsp_a_SOURCES += ../../sparc/shared/gpio/gpiolib.c
135
136# PWM
137libbsp_a_SOURCES += ../../sparc/shared/pwm/grpwm.c
138
139# ADC and DAC
140libbsp_a_SOURCES += ../../sparc/shared/analog/gradcdac.c
141
142# Memory controllers
143libbsp_a_SOURCES += ../../sparc/shared/mem/mctrl.c
144# l2cache
145libbsp_a_SOURCES += ../../sparc/shared/l2c/l2c.c
146# griommu
147libbsp_a_SOURCES += ../../sparc/shared/iommu/griommu.c
148# timer
149libbsp_a_SOURCES += timer/timer.c
150
151# TM/TC
152libbsp_a_SOURCES += ../../sparc/shared/tmtc/grtc.c
153libbsp_a_SOURCES += ../../sparc/shared/tmtc/grtm.c
154
155# MEMSCRUB
156libbsp_a_SOURCES += ../../sparc/shared/scrub/memscrub.c
157# L4STAT
158libbsp_a_SOURCES += ../../sparc/shared/stat/l4stat.c
159
160# Driver Manager
161libbsp_a_SOURCES += ../../sparc/shared/drvmgr/ambapp_bus.c
162libbsp_a_SOURCES += ../../sparc/shared/drvmgr/ambapp_bus_leon2.c
163libbsp_a_SOURCES += ../../sparc/shared/drvmgr/leon2_amba_bus.c
164libbsp_a_SOURCES += ../../sparc/shared/drvmgr/get_resarray_count.c
165
166if HAS_SMP
167libbsp_a_SOURCES += ../../shared/bspsmp.c
168libbsp_a_SOURCES += ../../shared/bspsmpgetcurrentprocessor.c
169endif
170
171if HAS_NETWORKING
172noinst_PROGRAMS += leon_smc91111.rel
173leon_smc91111_rel_SOURCES = leon_smc91111/leon_smc91111.c
174leon_smc91111_rel_CPPFLAGS = $(AM_CPPFLAGS)
175leon_smc91111_rel_CPPFLAGS += -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
176leon_smc91111_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
177endif
178
179if HAS_NETWORKING
180noinst_PROGRAMS += leon_open_eth.rel
181leon_open_eth_rel_SOURCES = leon_open_eth/leon_open_eth.c
182leon_open_eth_rel_CPPFLAGS = $(AM_CPPFLAGS)
183leon_open_eth_rel_CPPFLAGS +=  -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
184leon_open_eth_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
185endif
186
187if HAS_NETWORKING
188noinst_PROGRAMS += leon_greth.rel
189leon_greth_rel_SOURCES = ../../sparc/shared/net/greth.c
190leon_greth_rel_CPPFLAGS = $(AM_CPPFLAGS)
191leon_greth_rel_CPPFLAGS += -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
192leon_greth_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
193
194# BSP Network configuration
195libbsp_a_SOURCES += ../../sparc/shared/net/network_interface_add.c
196endif
197
198libbsp_a_LIBADD = \
199    ../../../libcpu/@RTEMS_CPU@/access.rel \
200    ../../../libcpu/@RTEMS_CPU@/cache.rel \
201    ../../../libcpu/@RTEMS_CPU@/reg_win.rel \
202    ../../../libcpu/@RTEMS_CPU@/syscall.rel
203
204if HAS_NETWORKING
205libbsp_a_LIBADD += leon_greth.rel
206libbsp_a_LIBADD += leon_open_eth.rel
207libbsp_a_LIBADD += leon_smc91111.rel
208endif
209
210EXTRA_DIST += times
211
212include $(top_srcdir)/../../../../automake/local.am
213include $(srcdir)/../../../../../../bsps/sparc/leon2/headers.am
Note: See TracBrowser for help on using the repository browser.