source: rtems-libbsd/freebsd-userspace/Makefile @ 82e1c69

4.1155-freebsd-126-freebsd-12freebsd-9.3
Last change on this file since 82e1c69 was 82e1c69, checked in by Joel Sherrill <joel.sherrill@…>, on 10/11/12 at 22:28:30

Userspace Makefile: Clean up yacc/lex handling to avoid conflicts

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