1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
#
# Makefile.lib,v 1.5 2000/06/12 15:00:14 joel Exp
#
# Templates/Makefile.lib
# Template library Makefile
#
LIBNAME=libbsdport.a
LIB=${ARCH}/${LIBNAME}
# C and C++ source names, if any, go here -- minus the .c or .cc
C_PIECES=rtems_callout rtems_taskqueue rtems_udelay ifstuff devicet alldrv
C_PIECES+=contigmalloc sysbus malloc ifmedia
C_FILES=$(C_PIECES:%=%.c)
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
CC_PIECES=
CC_FILES=$(CC_PIECES:%=%.cc)
CC_O_FILES=$(CC_PIECES:%=${ARCH}/%.o)
H_FILES=libbsdport_api.h rtems_verscheck.h
LINKS+=sys/taskqueue.h
LINKS+=sys/bus.h
LINKS+=sys/mutex.h
LINKS+=bsp/rtems_verscheck.h
DUMMYHEADERS+=dummyheaders/machine/bus.h
DUMMYHEADERS+=dummyheaders/machine/resource.h
DUMMYHEADERS+=dummyheaders/dev/pci/pcivar.h
DUMMYHEADERS+=dummyheaders/dev/pci/pcireg.h
DUMMYHEADERS+=dummyheaders/dev/mii/miivar.h
DUMMYHEADERS+=dummyheaders/sys/module.h
DUMMYHEADERS+=dummyheaders/sys/rman.h
DUMMYHEADERS+=dummyheaders/sys/kthread.h
DUMMYHEADERS+=dummyheaders/sys/endian.h
DUMMYHEADERS+=dummyheaders/net/if_vlan_var.h
DUMMYHEADERS+=dummyheaders/netinet/ip6.h
DUMMYHEADERS+=dummyheaders/vm/pmap.h
DUMMYHEADERS+=dummyheaders/miibus_if.h
# Assembly source names, if any, go here -- minus the .S
S_PIECES=
S_FILES=$(S_PIECES:%=%.S)
S_O_FILES=$(S_FILES:%.S=${ARCH}/%.o)
SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
all:
depend: ${LINKS}
include $(RTEMS_MAKEFILE_PATH)/Makefile.inc
include $(RTEMS_CUSTOM)
include $(RTEMS_ROOT)/make/lib.cfg
#
# Add local stuff here using +=
#
DEFINES +=
CPPFLAGS += -I.
CFLAGS +=
#
# 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 += dummyheaders
CLOBBER_ADDITIONS += $(sort $(foreach n,$(LINKS),$(firstword $(subst /, ,$(n)))))
all: ${DUMMYHEADERS} ${LINKS} ${ARCH} $(SRCS) $(LIB)
$(LIB): ${OBJS}
$(make-library)
dummyheaders/%:
@if [ ! -d `dirname $@` ] ; then mkdir -p `dirname $@`; fi
@touch $@
# for each name listed in LINKS, create parent directories (if needed)
# and a symlink to file in .
# E.g., LINKS=a/b/c.h
# creates a/b/c.h -> ../../c.h
$(LINKS):
@if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@); fi
@ln -s `echo $@ | sed -e 's%[^/]\+[/]\+%../%g'` $@
ifndef RTEMS_SITE_INSTALLDIR
RTEMS_SITE_INSTALLDIR = $(PROJECT_RELEASE)
endif
ifndef RTEMS_SITE_BSP_INSTALLDIR
RTEMS_SITE_BSP_INSTALLDIR = $(RTEMS_SITE_INSTALLDIR)
endif
${RTEMS_SITE_INSTALLDIR}/include/bsp \
${RTEMS_SITE_INSTALLDIR}/lib \
${RTEMS_SITE_INSTALLDIR}/bin:
test -d $@ || mkdir -p $@
# Install the program(s), appending _g or _p as appropriate.
# for include files, just use $(INSTALL_CHANGE)
#
install: all $(RTEMS_SITE_INSTALLDIR)/lib $(RTEMS_SITE_INSTALLDIR)/include/bsp
$(INSTALL_VARIANT) -m 644 ${LIB} ${RTEMS_SITE_INSTALLDIR}/lib
$(INSTALL_CHANGE) -m 644 ${H_FILES} ${RTEMS_SITE_INSTALLDIR}/include/bsp
|