blob: 18dde49ad030f82570c35b2e15b1e0a4f169d105 (
plain) (
tree)
|
|
include ../config.inc
include $(RTEMS_MAKEFILE_PATH)/Makefile.inc
include $(RTEMS_CUSTOM)
include $(PROJECT_ROOT)/make/leaf.cfg
CFLAGS += -Iinclude
CFLAGS += -Irtems/include
CFLAGS += -Ilib/libc/include
CFLAGS += -Ilib/libc/resolv
CFLAGS += -Ilib/netgraph
CFLAGS += -Ilib/libmemstat
CFLAGS += -Ilib/libutil
CFLAGS += -Ilib/libkvm
CFLAGS += -Isys
CFLAGS += -Ilocal
# XXX hack to find rpc
CFLAGS += -I../services/librpc/include
# nsparser needs this
CFLAGS += -Ilib/libc/net
CFLAGS += -I$(INSTALL_BASE)/include
#Only needed for route
# CFLAGS += -D__BSD_VISIBLE=1
#Only Needed for db files
CFLAGS += -D__DBINTERFACE_PRIVATE
CFLAGS += -g
CFLAGS += -w
CFLAGS += -std=gnu99
CFLAGS += -MT $@ -MD -MP -MF $(basename $@).d
C_FILES =
C_FILES += lib/libc/inet/inet_addr.c
C_FILES += lib/libc/inet/inet_cidr_ntop.c
C_FILES += lib/libc/inet/inet_cidr_pton.c
C_FILES += lib/libc/inet/inet_lnaof.c
C_FILES += lib/libc/inet/inet_makeaddr.c
C_FILES += lib/libc/inet/inet_net_pton.c
C_FILES += lib/libc/inet/inet_ntop.c
C_FILES += lib/libc/inet/inet_neta.c
C_FILES += lib/libc/inet/inet_net_ntop.c
C_FILES += lib/libc/inet/inet_netof.c
C_FILES += lib/libc/inet/inet_network.c
C_FILES += lib/libc/inet/inet_ntoa.c
C_FILES += lib/libc/inet/inet_pton.c
C_FILES += lib/libc/inet/nsap_addr.c
C_FILES += lib/libc/net/base64.c
C_FILES += lib/libc/net/ether_addr.c
C_FILES += lib/libc/net/getaddrinfo.c
C_FILES += lib/libc/net/gethostbydns.c
C_FILES += lib/libc/net/gethostbyht.c
C_FILES += lib/libc/net/gethostbynis.c
C_FILES += lib/libc/net/gethostnamadr.c
C_FILES += lib/libc/net/getifaddrs.c
C_FILES += lib/libc/net/getifmaddrs.c
C_FILES += lib/libc/net/getnameinfo.c
C_FILES += lib/libc/net/getnetbydns.c
C_FILES += lib/libc/net/getnetbyht.c
C_FILES += lib/libc/net/getnetbynis.c
C_FILES += lib/libc/net/getnetnamadr.c
C_FILES += lib/libc/net/getproto.c
C_FILES += lib/libc/net/getprotoent.c
C_FILES += lib/libc/net/getprotoname.c
C_FILES += lib/libc/net/getservent.c
C_FILES += lib/libc/net/nsdispatch.c
C_FILES += lib/libc/net/gai_strerror.c
# The following two /net files are generated
C_FILES += lib/libc/net/nslexer.c
C_FILES += lib/libc/net/nsparser.c
C_FILES += lib/libc/gen/err.c
C_FILES += lib/libc/gen/gethostname.c
C_FILES += lib/libc/nameser/ns_name.c
C_FILES += lib/libc/nameser/ns_netint.c
C_FILES += lib/libc/nameser/ns_parse.c
C_FILES += lib/libc/nameser/ns_print.c
C_FILES += lib/libc/nameser/ns_samedomain.c
C_FILES += lib/libc/nameser/ns_ttl.c
C_FILES += lib/libc/net/if_indextoname.c
C_FILES += lib/libc/net/if_nameindex.c
C_FILES += lib/libc/net/if_nametoindex.c
C_FILES += lib/libc/net/linkaddr.c
ifneq ($(DISABLE_IPV6),yes)
C_FILES += lib/libc/net/map_v4v6.c
endif
# This file is not IPV6 specific
C_FILES += lib/libc/net/name6.c
C_FILES += lib/libc/net/rcmd.c
C_FILES += lib/libc/net/recv.c
# C_FILES += lib/libc/net/send.c
C_FILES += lib/libc/resolv/herror.c
C_FILES += lib/libc/resolv/h_errno.c
C_FILES += lib/libc/resolv/res_comp.c
C_FILES += lib/libc/resolv/res_data.c
C_FILES += lib/libc/resolv/res_debug.c
C_FILES += lib/libc/resolv/res_findzonecut.c
C_FILES += lib/libc/resolv/res_init.c
C_FILES += lib/libc/resolv/res_mkquery.c
C_FILES += lib/libc/resolv/res_mkupdate.c
C_FILES += lib/libc/resolv/res_query.c
C_FILES += lib/libc/resolv/res_send.c
C_FILES += lib/libc/resolv/res_state.c
C_FILES += lib/libc/resolv/res_update.c
C_FILES += lib/libc/resolv/mtctxres.c
C_FILES += lib/libc/string/strsep.c
C_FILES += lib/libc/stdlib/strtonum.c
C_FILES += lib/libc/isc/ev_streams.c
C_FILES += lib/libc/isc/ev_timers.c
C_FILES += lib/libc/stdio/fgetln.c
C_FILES += lib/libc/db/db/db.c
C_FILES += lib/libc/db/btree/bt_close.c
C_FILES += lib/libc/db/btree/bt_get.c
C_FILES += lib/libc/db/btree/bt_put.c
C_FILES += lib/libc/db/btree/bt_utils.c
C_FILES += lib/libc/db/btree/bt_conv.c
C_FILES += lib/libc/db/btree/bt_open.c
C_FILES += lib/libc/db/btree/bt_search.c
C_FILES += lib/libc/db/btree/bt_debug.c
C_FILES += lib/libc/db/btree/bt_overflow.c
C_FILES += lib/libc/db/btree/bt_seq.c
C_FILES += lib/libc/db/btree/bt_delete.c
C_FILES += lib/libc/db/btree/bt_page.c
C_FILES += lib/libc/db/btree/bt_split.c
C_FILES += lib/libc/db/recno/rec_close.c
C_FILES += lib/libc/db/recno/rec_get.c
C_FILES += lib/libc/db/recno/rec_put.c
C_FILES += lib/libc/db/recno/rec_seq.c
C_FILES += lib/libc/db/recno/rec_delete.c
C_FILES += lib/libc/db/recno/rec_open.c
C_FILES += lib/libc/db/recno/rec_search.c
C_FILES += lib/libc/db/recno/rec_utils.c
C_FILES += lib/libc/db/mpool/mpool.c
# libmemstat
C_FILES += lib/libmemstat/memstat_all.c
C_FILES += lib/libmemstat/memstat.c
C_FILES += lib/libmemstat/memstat_malloc.c
C_FILES += lib/libmemstat/memstat_uma.c
# libutil
C_FILES += lib/libutil/expand_number.c
C_FILES += lib/libutil/humanize_number.c
C_FILES += lib/libutil/trimdomain.c
# libipsec files
C_FILES += lib/libipsec/pfkey_dump.c
# Has a main and may or may not be needed
# C_FILES += lib/libipsec/test-policy.c
C_FILES += lib/libipsec/pfkey.c
C_FILES += lib/libipsec/ipsec_strerror.c
C_FILES += lib/libipsec/ipsec_get_policylen.c
C_FILES += lib/libipsec/ipsec_dump_policy.c
# The following two /net files are generated
C_FILES += lib/libipsec/policy_token.c
C_FILES += lib/libipsec/policy_parse.c
C_FILES += lib/libc_r/uthread/uthread_select.c
C_FILES += lib/libc_r/uthread/uthread_kern.c
# RTEMS Specific Files
# C_FILES += rtems/rtems-net-setup.c
C_FILES += rtems/syslog.c
C_FILES += rtems/rtems-kvm.c
C_FILES += rtems/rtems-kvm-symbols.c
C_FILES += rtems/rtems-syslog-initialize.c
C_FILES += rtems/rtems-getprogname.c
C_FILES += rtems/rtems-uthread_main_np.c
C_FILES += rtems/rtems-uthread_kevent.c
C_FILES += rtems/rtems-uthread_kqueue.c
C_FILES += rtems/rtems-shell.c
C_FILES += rtems/rtems-syspoll.c
C_FILES += rtems/rtems-uthread_init.c
C_FILES += rtems/rtems-get_curthread.c
# ping command sources
C_FILES += commands/sbin/ping/ping.c
ifneq ($(DISABLE_IPV6),yes)
C_FILES += commands/sbin/ping6/ping6.c
endif
# route command sources
C_FILES += commands/sbin/route/route.c
# dhclient command sources
C_FILES += commands/sbin/dhclient/alloc.c
C_FILES += commands/sbin/dhclient/bpf.c
C_FILES += commands/sbin/dhclient/clparse.c
C_FILES += commands/sbin/dhclient/conflex.c
C_FILES += commands/sbin/dhclient/convert.c
C_FILES += commands/sbin/dhclient/dhclient.c
C_FILES += commands/sbin/dhclient/dispatch.c
C_FILES += commands/sbin/dhclient/errwarn.c
C_FILES += commands/sbin/dhclient/hash.c
C_FILES += commands/sbin/dhclient/inet.c
C_FILES += commands/sbin/dhclient/options.c
C_FILES += commands/sbin/dhclient/packet.c
C_FILES += commands/sbin/dhclient/parse.c
C_FILES += commands/sbin/dhclient/privsep.c
C_FILES += commands/sbin/dhclient/tables.c
C_FILES += commands/sbin/dhclient/tree.c
# ifconfig command sources
# UNUSED IFCONFIG_C_FILES += commands/sbin/ifconfig/af_atalk.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/af_inet.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/af_link.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/ifbridge.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/ifclone.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/ifgif.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/ifgroup.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/iflagg.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/ifmedia.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/ifvlan.c
ifneq ($(DISABLE_IPV6),yes)
IFCONFIG_C_FILES += commands/sbin/ifconfig/af_inet6.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/af_nd6.c
endif
IFCONFIG_C_FILES += commands/sbin/ifconfig/ifcarp.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/ifconfig.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/ifgre.c
# UNUSED IFCONFIG_C_FILES += commands/sbin/ifconfig/ifieee80211.c
# UNUSED IFCONFIG_C_FILES += commands/sbin/ifconfig/ifmac.c
IFCONFIG_C_FILES += commands/sbin/ifconfig/ifpfsync.c
# The following two files were left out to avoid
# porting issues. regdomain uses an xml parser
# that is not part of the standard release and
# af_ipx uses thread0 which we are trying to avoid
# pulling in.
#
# C_FILES += commands/sbin/ifconfig/regdomain.c
# C_FILES += commands/sbin/ifconfig/af_ipx.c
# netstat command sources
# no need to support AppleTalk yet
# NETSTAT_C_FILES += commands/usr.bin/netstat/atalk.c
NETSTAT_C_FILES += commands/usr.bin/netstat/bpf.c
NETSTAT_C_FILES += commands/usr.bin/netstat/if.c
ifneq ($(DISABLE_IPV6),yes)
NETSTAT_C_FILES += commands/usr.bin/netstat/inet6.c
endif
NETSTAT_C_FILES += commands/usr.bin/netstat/inet.c
NETSTAT_C_FILES += commands/usr.bin/netstat/ipsec.c
# no need to support IPX yet
# NETSTAT_C_FILES += commands/usr.bin/netstat/ipx.c
NETSTAT_C_FILES += commands/usr.bin/netstat/main.c
# XXX does not compile yet
NETSTAT_C_FILES += commands/usr.bin/netstat/mbuf.c
ifneq ($(DISABLE_IPV6),yes)
NETSTAT_C_FILES += commands/usr.bin/netstat/mroute6.c
endif
NETSTAT_C_FILES += commands/usr.bin/netstat/mroute.c
# Disable netgraph support - this is a long thread to pull
# NETSTAT_C_FILES += commands/usr.bin/netstat/netgraph.c
NETSTAT_C_FILES += commands/usr.bin/netstat/pfkey.c
# Actually just route.c in FreeBSD
NETSTAT_C_FILES += commands/usr.bin/netstat/netstat_route.c
NETSTAT_C_FILES += commands/usr.bin/netstat/sctp.c
NETSTAT_C_FILES += commands/usr.bin/netstat/unix.c
C_O_FILES = $(C_FILES:%.c=%.o)
C_D_FILES = $(C_FILES:%.c=%.d)
IFCONFIG_C_O_FILES = $(IFCONFIG_C_FILES:%.c=%.o)
IFCONFIG_C_D_FILES = $(IFCONFIG_C_FILES:%.c=%.d)
NETSTAT_C_O_FILES = $(NETSTAT_C_FILES:%.c=%.o)
NETSTAT_C_D_FILES = $(NETSTAT_C_FILES:%.c=%.d)
LIB = libbsdc.a
IFCONFIG = commands/sbin/ifconfig/ifconfig.rel
NETSTAT = commands/usr.bin/netstat/netstat.rel
COMMAND_RELS = $(NETSTAT) $(IFCONFIG)
GEN_FILES = rtems/rtems-kvm-symbols.c
GEN_FILES += include/rpc/rpcb_prot.h
GEN_FILES += commands/sbin/route/keywords.h
# lib/libc/net
GEN_FILES += lib/libc/net/nslexer.c
GEN_FILES += lib/libc/net/nsparser.c
CLEAN_FILES = lib/libc/net/nsparser.i
CLEAN_FILES += lib/libc/net/y.tab.h
# lib/libipsec
GEN_FILES += lib/libipsec/policy_token.c
GEN_FILES += lib/libipsec/policy_parse.c
CLEAN_FILES += lib/libipsec/policy_parse.i
CLEAN_FILES += lib/libipsec/y.tab.h
all: $(LIB)
$(LIB): $(GEN_FILES) $(C_O_FILES) $(COMMAND_RELS)
$(AR) rcu $@ $^
$(IFCONFIG): $(IFCONFIG_C_O_FILES)
$(LD) -r -o $@ $^
$(NETSTAT): $(NETSTAT_C_O_FILES)
$(LD) -r -o $@ $^
rtems/rtems-kvm-symbols.c: rtems/generate_kvm_symbols
./rtems/generate_kvm_symbols >rtems/rtems-kvm-symbols.c
include/rpc/rpcb_prot.h: include/rpc/rpcb_prot.x
rm -f include/rpc/rpcb_prot.h
rpcgen -h -o include/rpc/rpcb_prot.h include/rpc/rpcb_prot.x
commands/sbin/route/keywords.h: commands/sbin/route/keywords
sed -e '/^#/d' -e '/^$$/d' commands/sbin/route//keywords > _keywords.tmp
LC_ALL=C tr 'a-z' 'A-Z' < _keywords.tmp | paste _keywords.tmp - | \
awk '{ \
if (NF > 1) \
printf "#define\tK_%s\t%d\n\t{\"%s\", K_%s},\n", \
$$2, NR, $$1, $$2 }' \
> commands/sbin/route/keywords.h
rm -f _keywords.tmp
# lib/libc/net Yacc and lex files
lib/libc/net/nslexer.c: lib/libc/net/nslexer.l
make -C lib/libc/net nslexer.c
lib/libc/net/nsparser.c: lib/libc/net/nsparser.y
make -C lib/libc/net nsparser.c
# libipsec Yacc and lex files
lib/libipsec/policy_token.c: lib/libipsec/policy_token.l
make -C lib/libipsec policy_token.c
lib/libipsec/policy_parse.c: lib/libipsec/policy_parse.y
make -C lib/libipsec policy_parse.c
install: $(LIB)
install -d $(INSTALL_BASE)/include
cd include; for i in `find . -name '*.h'` ; do \
install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done
cd rtems/include; for i in `find . -name '*.h'` ; do \
install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done
cd local; for i in `find . -name '*.h'` ; do \
install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done
cd sys; for i in `find . -name '*.h'` ; do \
install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done
install -c -m 644 $(LIB) $(INSTALL_BASE)
clean:
rm -f $(LIB) $(GEN_FILES) $(CLEAN_FILES)
rm -f $(C_O_FILES) $(IFCONFIG_C_O_FILES) $(NETSTAT_C_O_FILES)
rm -f $(C_D_FILES) $(IFCONFIG_C_D_FILES) $(NETSTAT_C_D_FILES)
-include $(C_D_FILES)
doc:
|