source: rtems-libbsd/freebsd-userspace/Makefile @ 0fa7dab

4.1155-freebsd-126-freebsd-12freebsd-9.3
Last change on this file since 0fa7dab was 0fa7dab, checked in by Joel Sherrill <joel.sherrill@…>, on 10/22/12 at 15:53:17

route command: Clean up kernal symbol accesses

  • Property mode set to 100644
File size: 10.3 KB
Line 
1include ../config.inc
2
3include $(RTEMS_MAKEFILE_PATH)/Makefile.inc
4include $(RTEMS_CUSTOM)
5include $(PROJECT_ROOT)/make/leaf.cfg
6
7CFLAGS += -Iinclude
8CFLAGS += -Irtems/include
9CFLAGS += -Ilib/libc/include
10CFLAGS += -Ilib/libc/resolv
11CFLAGS += -Ilib/netgraph
12CFLAGS += -Ilib/libmemstat
13CFLAGS += -Ilib/libutil
14CFLAGS += -Ilib/libkvm
15CFLAGS += -Isys
16CFLAGS += -Ilocal
17# XXX hack to find rpc
18CFLAGS += -I../services/librpc/include
19# nsparser needs this
20CFLAGS += -Ilib/libc/net
21
22CFLAGS += -I$(INSTALL_BASE)/include
23
24#Only needed for route
25# CFLAGS += -D__BSD_VISIBLE=1
26#Only Needed for db files
27CFLAGS += -D__DBINTERFACE_PRIVATE
28
29CFLAGS += -g
30CFLAGS += -w
31CFLAGS += -std=gnu99
32CFLAGS += -MT $@ -MD -MP -MF $(basename $@).d
33
34C_FILES =
35C_FILES += lib/libc/inet/inet_addr.c
36C_FILES += lib/libc/inet/inet_cidr_ntop.c
37C_FILES += lib/libc/inet/inet_cidr_pton.c
38C_FILES += lib/libc/inet/inet_lnaof.c
39C_FILES += lib/libc/inet/inet_makeaddr.c
40C_FILES += lib/libc/inet/inet_net_pton.c
41C_FILES += lib/libc/inet/inet_ntop.c
42C_FILES += lib/libc/inet/inet_neta.c
43C_FILES += lib/libc/inet/inet_net_ntop.c
44C_FILES += lib/libc/inet/inet_netof.c
45C_FILES += lib/libc/inet/inet_network.c
46C_FILES += lib/libc/inet/inet_ntoa.c
47C_FILES += lib/libc/inet/inet_pton.c
48C_FILES += lib/libc/inet/nsap_addr.c
49
50C_FILES += lib/libc/net/base64.c
51C_FILES += lib/libc/net/ether_addr.c
52C_FILES += lib/libc/net/getaddrinfo.c
53C_FILES += lib/libc/net/gethostbydns.c
54C_FILES += lib/libc/net/gethostbyht.c
55C_FILES += lib/libc/net/gethostbynis.c
56C_FILES += lib/libc/net/gethostnamadr.c
57C_FILES += lib/libc/net/getifaddrs.c
58C_FILES += lib/libc/net/getifmaddrs.c
59C_FILES += lib/libc/net/getnameinfo.c
60C_FILES += lib/libc/net/getnetbydns.c
61C_FILES += lib/libc/net/getnetbyht.c
62C_FILES += lib/libc/net/getnetbynis.c
63C_FILES += lib/libc/net/getnetnamadr.c
64C_FILES += lib/libc/net/getproto.c
65C_FILES += lib/libc/net/getprotoent.c
66C_FILES += lib/libc/net/getprotoname.c
67C_FILES += lib/libc/net/getservent.c
68C_FILES += lib/libc/net/nsdispatch.c
69C_FILES += lib/libc/net/gai_strerror.c
70# The following two /net files are generated
71C_FILES += lib/libc/net/nslexer.c
72C_FILES += lib/libc/net/nsparser.c
73C_FILES += lib/libc/gen/err.c
74C_FILES += lib/libc/gen/gethostname.c
75C_FILES += lib/libc/nameser/ns_name.c
76C_FILES += lib/libc/nameser/ns_netint.c
77C_FILES += lib/libc/nameser/ns_parse.c
78C_FILES += lib/libc/nameser/ns_print.c
79C_FILES += lib/libc/nameser/ns_samedomain.c
80C_FILES += lib/libc/nameser/ns_ttl.c
81C_FILES += lib/libc/net/if_indextoname.c
82C_FILES += lib/libc/net/if_nameindex.c
83C_FILES += lib/libc/net/if_nametoindex.c
84C_FILES += lib/libc/net/linkaddr.c
85C_FILES += lib/libc/net/map_v4v6.c
86C_FILES += lib/libc/net/name6.c
87C_FILES += lib/libc/net/rcmd.c
88C_FILES += lib/libc/net/recv.c
89# C_FILES += lib/libc/net/send.c
90C_FILES += lib/libc/resolv/herror.c
91C_FILES += lib/libc/resolv/h_errno.c
92C_FILES += lib/libc/resolv/res_comp.c
93C_FILES += lib/libc/resolv/res_data.c
94C_FILES += lib/libc/resolv/res_debug.c
95C_FILES += lib/libc/resolv/res_findzonecut.c
96C_FILES += lib/libc/resolv/res_init.c
97C_FILES += lib/libc/resolv/res_mkquery.c
98C_FILES += lib/libc/resolv/res_mkupdate.c
99C_FILES += lib/libc/resolv/res_query.c
100C_FILES += lib/libc/resolv/res_send.c
101C_FILES += lib/libc/resolv/res_state.c
102C_FILES += lib/libc/resolv/res_update.c
103C_FILES += lib/libc/resolv/mtctxres.c
104C_FILES += lib/libc/string/strsep.c
105
106C_FILES += lib/libc/isc/ev_streams.c
107C_FILES += lib/libc/isc/ev_timers.c
108
109C_FILES += lib/libc/stdio/fgetln.c
110
111C_FILES += lib/libc/db/db/db.c
112C_FILES += lib/libc/db/btree/bt_close.c   
113C_FILES += lib/libc/db/btree/bt_get.c       
114C_FILES += lib/libc/db/btree/bt_put.c     
115C_FILES += lib/libc/db/btree/bt_utils.c
116C_FILES += lib/libc/db/btree/bt_conv.c   
117C_FILES += lib/libc/db/btree/bt_open.c     
118C_FILES += lib/libc/db/btree/bt_search.c
119C_FILES += lib/libc/db/btree/bt_debug.c   
120C_FILES += lib/libc/db/btree/bt_overflow.c 
121C_FILES += lib/libc/db/btree/bt_seq.c
122C_FILES += lib/libc/db/btree/bt_delete.c 
123C_FILES += lib/libc/db/btree/bt_page.c     
124C_FILES += lib/libc/db/btree/bt_split.c
125C_FILES += lib/libc/db/recno/rec_close.c   
126C_FILES += lib/libc/db/recno/rec_get.c   
127C_FILES += lib/libc/db/recno/rec_put.c     
128C_FILES += lib/libc/db/recno/rec_seq.c
129C_FILES += lib/libc/db/recno/rec_delete.c 
130C_FILES += lib/libc/db/recno/rec_open.c 
131C_FILES += lib/libc/db/recno/rec_search.c 
132C_FILES += lib/libc/db/recno/rec_utils.c
133
134C_FILES += lib/libc/db/mpool/mpool.c
135
136# libmemstat
137C_FILES += lib/libmemstat/memstat_all.c
138C_FILES += lib/libmemstat/memstat.c
139C_FILES += lib/libmemstat/memstat_malloc.c
140C_FILES += lib/libmemstat/memstat_uma.c
141
142# libutil
143C_FILES += lib/libutil/expand_number.c
144C_FILES += lib/libutil/humanize_number.c
145C_FILES += lib/libutil/trimdomain.c
146
147# libipsec files
148C_FILES += lib/libipsec/pfkey_dump.c
149# Has a main and may or may not be needed
150# C_FILES += lib/libipsec/test-policy.c
151C_FILES += lib/libipsec/pfkey.c
152C_FILES += lib/libipsec/ipsec_strerror.c
153C_FILES += lib/libipsec/ipsec_get_policylen.c
154C_FILES += lib/libipsec/ipsec_dump_policy.c
155# The following two /net files are generated
156C_FILES += lib/libipsec/policy_token.c
157C_FILES += lib/libipsec/policy_parse.c
158
159# RTEMS Specific Files
160# C_FILES += rtems/rtems-net-setup.c
161C_FILES += rtems/syslog.c
162C_FILES += rtems/rtems-syslog-initialize.c
163C_FILES += rtems/rtems-getprogname.c
164C_FILES += rtems/rtems-uthread_main_np.c
165C_FILES += rtems/rtems-uthread_kevent.c
166C_FILES += rtems/rtems-uthread_kqueue.c
167C_FILES += rtems/rtems-shell.c
168
169# ping command sources
170C_FILES += commands/sbin/ping/ping.c
171C_FILES += commands/sbin/ping6/ping6.c
172
173# route command sources
174C_FILES += commands/sbin/route/route.c
175
176# dhclient command sources
177C_FILES += commands/sbin/dhclient/alloc.c
178C_FILES += commands/sbin/dhclient/bpf.c
179C_FILES += commands/sbin/dhclient/clparse.c
180C_FILES += commands/sbin/dhclient/conflex.c
181C_FILES += commands/sbin/dhclient/convert.c
182C_FILES += commands/sbin/dhclient/dhclient.c
183C_FILES += commands/sbin/dhclient/dispatch.c
184C_FILES += commands/sbin/dhclient/errwarn.c
185C_FILES += commands/sbin/dhclient/hash.c
186C_FILES += commands/sbin/dhclient/inet.c
187C_FILES += commands/sbin/dhclient/options.c
188C_FILES += commands/sbin/dhclient/packet.c
189C_FILES += commands/sbin/dhclient/parse.c
190C_FILES += commands/sbin/dhclient/privsep.c
191C_FILES += commands/sbin/dhclient/tables.c
192C_FILES += commands/sbin/dhclient/tree.c
193
194# ifconfig command sources
195C_FILES += commands/sbin/ifconfig/af_atalk.c
196C_FILES += commands/sbin/ifconfig/af_inet.c
197C_FILES += commands/sbin/ifconfig/af_link.c
198C_FILES += commands/sbin/ifconfig/ifbridge.c
199C_FILES += commands/sbin/ifconfig/ifclone.c
200C_FILES += commands/sbin/ifconfig/ifgif.c
201C_FILES += commands/sbin/ifconfig/ifgroup.c
202C_FILES += commands/sbin/ifconfig/iflagg.c
203C_FILES += commands/sbin/ifconfig/ifmedia.c
204C_FILES += commands/sbin/ifconfig/ifvlan.c
205C_FILES += commands/sbin/ifconfig/af_inet6.c
206C_FILES += commands/sbin/ifconfig/af_nd6.c
207C_FILES += commands/sbin/ifconfig/ifcarp.c
208C_FILES += commands/sbin/ifconfig/ifconfig.c
209C_FILES += commands/sbin/ifconfig/ifgre.c
210C_FILES += commands/sbin/ifconfig/ifieee80211.c
211C_FILES += commands/sbin/ifconfig/ifmac.c
212C_FILES += commands/sbin/ifconfig/ifpfsync.c
213
214# The following two files were left out to avoid
215# porting issues.  regdomain uses an xml parser
216# that is not part of the standard release and
217# af_ipx uses thread0 which we are trying to avoid
218# pulling in.
219#
220# C_FILES += commands/sbin/ifconfig/regdomain.c
221# C_FILES += commands/sbin/ifconfig/af_ipx.c
222
223# netstat command sources
224# no need to support AppleTalk yet
225# C_FILES += commands/usr.bin/netstat/atalk.c
226C_FILES += commands/usr.bin/netstat/bpf.c
227C_FILES += commands/usr.bin/netstat/if.c
228C_FILES += commands/usr.bin/netstat/inet6.c
229C_FILES += commands/usr.bin/netstat/inet.c
230C_FILES += commands/usr.bin/netstat/ipsec.c
231# no need to support IPX yet
232# C_FILES += commands/usr.bin/netstat/ipx.c
233C_FILES += commands/usr.bin/netstat/main.c
234# XXX does not compile yet
235C_FILES += commands/usr.bin/netstat/mbuf.c
236C_FILES += commands/usr.bin/netstat/mroute6.c
237C_FILES += commands/usr.bin/netstat/mroute.c
238# Disable netgraph support - this is a long thread to pull
239# C_FILES += commands/usr.bin/netstat/netgraph.c
240C_FILES += commands/usr.bin/netstat/pfkey.c
241# Actually just route.c in FreeBSD
242C_FILES += commands/usr.bin/netstat/netstat_route.c
243C_FILES += commands/usr.bin/netstat/sctp.c
244C_FILES += commands/usr.bin/netstat/unix.c
245
246C_O_FILES = $(C_FILES:%.c=%.o)
247C_D_FILES = $(C_FILES:%.c=%.d)
248
249LIB = libbsdc.a
250GEN_FILES = include/rpc/rpcb_prot.h
251GEN_FILES += commands/sbin/route/keywords.h
252# lib/libc/net
253GEN_FILES += lib/libc/net/nslexer.c
254GEN_FILES += lib/libc/net/nsparser.c
255EXTRA_CLEAN = lib/libc/net/nsparser.i
256EXTRA_CLEAN += lib/libc/net/y.tab.h
257
258# lib/libipsec
259GEN_FILES += lib/libipsec/policy_token.c
260GEN_FILES += lib/libipsec/policy_parse.c
261EXTRA_CLEAN += lib/libipsec/policy_parse.i
262EXTRA_CLEAN += lib/libipsec/y.tab.h
263
264all: $(LIB)
265
266$(LIB): $(GEN_FILES) $(C_O_FILES)
267        $(AR) rcu $@ $^
268
269include/rpc/rpcb_prot.h: include/rpc/rpcb_prot.x
270        rm -f include/rpc/rpcb_prot.h
271        rpcgen -h -o include/rpc/rpcb_prot.h include/rpc/rpcb_prot.x
272
273commands/sbin/route/keywords.h: commands/sbin/route/keywords
274        sed -e '/^#/d' -e '/^$$/d' commands/sbin/route//keywords > _keywords.tmp
275        LC_ALL=C tr 'a-z' 'A-Z' < _keywords.tmp | paste _keywords.tmp - | \
276            awk '{ \
277                if (NF > 1) \
278                        printf "#define\tK_%s\t%d\n\t{\"%s\", K_%s},\n", \
279                            $$2, NR, $$1, $$2 }' \
280            > commands/sbin/route/keywords.h
281        rm -f _keywords.tmp
282
283# lib/libc/net Yacc and lex files
284lib/libc/net/nslexer.c: lib/libc/net/nslexer.l
285        make -C lib/libc/net nslexer.c
286
287lib/libc/net/nsparser.c: lib/libc/net/nsparser.y
288        make -C lib/libc/net nsparser.c
289
290# libipsec Yacc and lex files
291lib/libipsec/policy_token.c: lib/libipsec/policy_token.l
292        make -C lib/libipsec policy_token.c
293
294lib/libipsec/policy_parse.c: lib/libipsec/policy_parse.y
295        make -C lib/libipsec policy_parse.c
296
297install: $(LIB)
298        install -d $(INSTALL_BASE)/include
299        cd include; for i in `find . -name '*.h'` ; do \
300          install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done
301        cd rtems/include; for i in `find . -name '*.h'` ; do \
302          install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done
303        cd local; for i in `find . -name '*.h'` ; do \
304          install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done
305        cd sys; for i in `find . -name '*.h'` ; do \
306          install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done
307        install -c -m 644 $(LIB) $(INSTALL_BASE)
308
309clean:
310        rm -f $(LIB) $(C_O_FILES) $(C_D_FILES) $(GEN_FILES) $(CLEAN_FILES)
311
312-include $(C_D_FILES)
313
314doc:
315
Note: See TracBrowser for help on using the repository browser.