BASE = $(PWD) BUILD_BSP = $(BASE)/build/arm-rtems5-xilinx_zynq_a9_qemu-everything LOCAL_INC = rtemsbsd/include/rtems/bsd/local LOCAL_SRC = rtemsbsd/local FREEBSD_SRC = freebsd-org TOOLS = freebsd-org/sys/tools GENERATED = GENERATED += $(LOCAL_INC)/cryptodev_if.h GENERATED += $(LOCAL_SRC)/cryptodev_if.c GENERATED += $(LOCAL_INC)/usb_if.h GENERATED += $(LOCAL_SRC)/usb_if.c GENERATED += $(LOCAL_INC)/bus_if.h GENERATED += $(LOCAL_SRC)/bus_if.c GENERATED += $(LOCAL_INC)/device_if.h GENERATED += $(LOCAL_SRC)/device_if.c GENERATED += $(LOCAL_INC)/usbdevs_data.h GENERATED += $(LOCAL_INC)/usbdevs.h GENERATED += $(LOCAL_INC)/ifdi_if.h GENERATED += $(LOCAL_SRC)/ifdi_if.c GENERATED += $(LOCAL_INC)/miibus_if.h GENERATED += $(LOCAL_SRC)/miibus_if.c GENERATED += $(LOCAL_INC)/miidevs.h GENERATED += $(LOCAL_INC)/ofw_if.h GENERATED += $(LOCAL_SRC)/ofw_if.c GENERATED += $(LOCAL_INC)/ofw_bus_if.h GENERATED += $(LOCAL_SRC)/ofw_bus_if.c GENERATED += $(LOCAL_INC)/pci_if.h GENERATED += $(LOCAL_SRC)/pci_if.c GENERATED += $(LOCAL_INC)/pcib_if.h GENERATED += $(LOCAL_SRC)/pcib_if.c GENERATED += $(LOCAL_INC)/mmcbr_if.h GENERATED += $(LOCAL_SRC)/mmcbr_if.c GENERATED += $(LOCAL_INC)/mmcbus_if.h GENERATED += $(LOCAL_SRC)/mmcbus_if.c GENERATED += $(LOCAL_SRC)/rtwn-rtl8192cfwT.c GENERATED += $(LOCAL_SRC)/rtwn-rtl8188eufw.c GENERATED += $(LOCAL_SRC)/runfw.c GENERATED += $(LOCAL_INC)/sdhci_if.h GENERATED += $(LOCAL_SRC)/sdhci_if.c GENERATED += $(LOCAL_INC)/gpiobus_if.h GENERATED += $(LOCAL_SRC)/gpiobus_if.c GENERATED += rtemsbsd/include/machine/rtems-bsd-regdomain.h GENERATED += rtemsbsd/rtems/rtems-bsd-regdomain.c YACC_GENERATED = LEX_GENERATED = YACC_GENERATED += freebsd/lib/libc/net/nsparser.h YACC_GENERATED += freebsd/lib/libc/net/nsparser.c LEX_GENERATED += freebsd/lib/libc/net/nslexer.c YACC_GENERATED += freebsd/sbin/pfctl/parse.h YACC_GENERATED += freebsd/sbin/pfctl/parse.c YACC_GENERATED += freebsd/contrib/libpcap/grammar.h YACC_GENERATED += freebsd/contrib/libpcap/grammar.c LEX_GENERATED += freebsd/contrib/libpcap/scanner.h LEX_GENERATED += freebsd/contrib/libpcap/scanner.c all: yacc lex $(GENERATED) yacc: $(YACC_GENERATED) lex: $(LEX_GENERATED) program-header: cd freebsd/bin/stty && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/freebsd/bin/stty/*.o -p stty cd freebsd/contrib/tcpdump && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/freebsd/contrib/tcpdump/*.o -p tcpdump cd freebsd/sbin/ifconfig && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/freebsd/sbin/ifconfig/*.o -p ifconfig cd freebsd/sbin/pfctl && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/freebsd/sbin/pfctl/*.o -p pfctl cd freebsd/sbin/ping6 && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/freebsd/sbin/ping6/*.o -p ping6 cd freebsd/sbin/ping && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/freebsd/sbin/ping/*.o -p ping cd freebsd/sbin/route && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/freebsd/sbin/route/*.o -p route cd freebsd/sbin/sysctl && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/freebsd/sbin/sysctl/*.o -p sysctl cd freebsd/tools/tools/net80211/wlanstats && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/freebsd/tools/tools/net80211/wlanstats/*.o -p wlanstats cd freebsd/usr.bin/netstat && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/freebsd/usr.bin/netstat/*.o -p netstat cd freebsd/usr.sbin/arp && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/freebsd/usr.sbin/arp/*.o -p arp cd ipsec-tools/src/racoon && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/ipsec-tools/src/racoon/*.o -p racoon cd ipsec-tools/src/setkey && $(BASE)/userspace-header-gen.py $(BUILD_BSP)/ipsec-tools/src/setkey/*.o -p setkey $(LOCAL_INC)/usbdevs.h: $(FREEBSD_SRC)/sys/dev/usb/usbdevs awk -f $(TOOLS)/usbdevs2h.awk $< -h mv usbdevs.h $@ $(LOCAL_INC)/usbdevs_data.h: $(FREEBSD_SRC)/sys/dev/usb/usbdevs awk -f $(TOOLS)/usbdevs2h.awk $< -d mv usbdevs_data.h $@ $(LOCAL_INC)/cryptodev_if.h: $(FREEBSD_SRC)/sys/opencrypto/cryptodev_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv cryptodev_if.h $@ $(LOCAL_SRC)/cryptodev_if.c: $(FREEBSD_SRC)/sys/opencrypto/cryptodev_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv cryptodev_if.c $@ $(LOCAL_INC)/usb_if.h: $(FREEBSD_SRC)/sys/dev/usb/usb_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv usb_if.h $@ $(LOCAL_SRC)/usb_if.c: $(FREEBSD_SRC)/sys/dev/usb/usb_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv usb_if.c $@ $(LOCAL_INC)/bus_if.h: $(FREEBSD_SRC)/sys/kern/bus_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv bus_if.h $@ $(LOCAL_SRC)/bus_if.c: $(FREEBSD_SRC)/sys/kern/bus_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv bus_if.c $@ $(LOCAL_INC)/device_if.h: $(FREEBSD_SRC)/sys/kern/device_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv device_if.h $@ $(LOCAL_SRC)/device_if.c: $(FREEBSD_SRC)/sys/kern/device_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv device_if.c $@ $(LOCAL_INC)/ifdi_if.h: $(FREEBSD_SRC)/sys/net/ifdi_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv ifdi_if.h $@ $(LOCAL_SRC)/ifdi_if.c: $(FREEBSD_SRC)/sys/net/ifdi_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv ifdi_if.c $@ $(LOCAL_INC)/miidevs.h: $(FREEBSD_SRC)/sys/dev/mii/miidevs awk -f $(TOOLS)/miidevs2h.awk $< mv miidevs.h $@ $(LOCAL_INC)/miibus_if.h: $(FREEBSD_SRC)/sys/dev/mii/miibus_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv miibus_if.h $@ $(LOCAL_SRC)/miibus_if.c: $(FREEBSD_SRC)/sys/dev/mii/miibus_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv miibus_if.c $@ $(LOCAL_INC)/pci_if.h: $(FREEBSD_SRC)/sys/dev/pci/pci_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv pci_if.h $@ $(LOCAL_SRC)/pci_if.c: $(FREEBSD_SRC)/sys/dev/pci/pci_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv pci_if.c $@ $(LOCAL_INC)/pcib_if.h: $(FREEBSD_SRC)/sys/dev/pci/pcib_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv pcib_if.h $@ $(LOCAL_SRC)/pcib_if.c: $(FREEBSD_SRC)/sys/dev/pci/pcib_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv pcib_if.c $@ $(LOCAL_INC)/mmcbus_if.h: $(FREEBSD_SRC)/sys/dev/mmc/mmcbus_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv mmcbus_if.h $@ $(LOCAL_SRC)/mmcbus_if.c: $(FREEBSD_SRC)/sys/dev/mmc/mmcbus_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv mmcbus_if.c $@ $(LOCAL_INC)/mmcbr_if.h: $(FREEBSD_SRC)/sys/dev/mmc/mmcbr_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv mmcbr_if.h $@ $(LOCAL_SRC)/mmcbr_if.c: $(FREEBSD_SRC)/sys/dev/mmc/mmcbr_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv mmcbr_if.c $@ $(LOCAL_INC)/ofw_if.h: $(FREEBSD_SRC)/sys/dev/ofw/ofw_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv ofw_if.h $@ $(LOCAL_SRC)/ofw_if.c: $(FREEBSD_SRC)/sys/dev/ofw/ofw_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv ofw_if.c $@ $(LOCAL_INC)/ofw_bus_if.h: $(FREEBSD_SRC)/sys/dev/ofw/ofw_bus_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv ofw_bus_if.h $@ $(LOCAL_SRC)/ofw_bus_if.c: $(FREEBSD_SRC)/sys/dev/ofw/ofw_bus_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv ofw_bus_if.c $@ $(LOCAL_INC)/if_dwc_if.h: $(FREEBSD_SRC)/sys/dev/dwc/if_dwc_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv if_dwc_if.h $@ $(LOCAL_SRC)/if_dwc_if.c: $(FREEBSD_SRC)/sys/dev/dwc/if_dwc_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv if_dwc_if.c $@ $(LOCAL_INC)/gpio_if.h: $(FREEBSD_SRC)/sys/dev/gpio/gpio_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv gpio_if.h $@ $(LOCAL_INC)/gpiobus_if.h: $(FREEBSD_SRC)/sys/dev/gpio/gpiobus_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv gpiobus_if.h $@ $(LOCAL_SRC)/gpiobus_if.c: $(FREEBSD_SRC)/sys/dev/gpio/gpiobus_if.m awk -f $(TOOLS)/makeobjops.awk $< -c sed -i gpiobus_if.c \ -e '1 i\#include \n' \ -e 's|#include "gpiobus_if.h"|#include |' mv gpiobus_if.c $@ $(LOCAL_INC)/sdhci_if.h: $(FREEBSD_SRC)/sys/dev/sdhci/sdhci_if.m awk -f $(TOOLS)/makeobjops.awk $< -h mv sdhci_if.h $@ $(LOCAL_SRC)/sdhci_if.c: $(FREEBSD_SRC)/sys/dev/sdhci/sdhci_if.m awk -f $(TOOLS)/makeobjops.awk $< -c sed -i sdhci_if.c \ -e '1 i\#include \n' \ -e 's|#include "sdhci_if.h"|#include |' mv sdhci_if.c $@ $(LOCAL_SRC)/gpio_if.c: $(FREEBSD_SRC)/sys/dev/gpio/gpio_if.m awk -f $(TOOLS)/makeobjops.awk $< -c mv gpio_if.c $@ $(LOCAL_SRC)/rtwn-rtl8192cfwT.c: $(FREEBSD_SRC)/sys/contrib/dev/rtwn/rtwn-rtl8192cfwT.fw.uu uudecode -o /dev/stdout $< | python firmware-gen.py \ -l "$(FREEBSD_SRC)/sys/contrib/dev/rtwn/LICENSE" \ rtwn-rtl8192cfwT - $@ $(LOCAL_SRC)/rtwn-rtl8188eufw.c: $(FREEBSD_SRC)/sys/contrib/dev/rtwn/rtwn-rtl8188eufw.fw.uu uudecode -o /dev/stdout $< | python firmware-gen.py \ -l "$(FREEBSD_SRC)/sys/contrib/dev/rtwn/LICENSE" \ rtwn-rtl8188eufw - $@ $(LOCAL_SRC)/runfw.c: $(FREEBSD_SRC)/sys/contrib/dev/run/rt2870.fw.uu uudecode -o /dev/stdout $< | python firmware-gen.py \ -l "$(FREEBSD_SRC)/sys/contrib/dev/run/LICENSE" \ runfw - $@ freebsd/usr.bin/netstat/nl_symbols.c: $(FREEBSD_SRC)/usr.bin/netstat/nlist_symbols awk '\ BEGIN { \ print "#include "; \ print "#include "; \ print "const struct nlist nl[] = {"; \ } \ !/^\#/ { printf("\t{ .n_name = \"%s\" },\n", $$2); } \ END { print "\t{ .n_name = NULL },\n};" } \ ' < $< > $@ || rm -f $@ freebsd/usr.bin/netstat/nl_defs.h: $(FREEBSD_SRC)/usr.bin/netstat/nlist_symbols awk '\ BEGIN { \ print "#include "; \ print "extern const struct nlist nl[];"; \ i = 0; \ } \ !/^\#/ { printf("\#define\tN%s\t%s\n", toupper($$2), i++); }' \ < $< > $@ || rm -f $@ rtemsbsd/include/machine/rtems-bsd-regdomain.h: $(FREEBSD_SRC)/lib/lib80211/regdomain.xml rtems-bin2c -H $< $@ rtemsbsd/rtems/rtems-bsd-regdomain.c: $(FREEBSD_SRC)/lib/lib80211/regdomain.xml rtems-bin2c -C $< $@ freebsd/lib/libc/net/nsparser.h: freebsd/lib/libc/net/nsparser.c freebsd/lib/libc/net/nsparser.c: freebsd/lib/libc/net/nsparser.y cd freebsd/lib/libc/net && yacc -p _nsyy -o nsparser.c -d nsparser.y freebsd/lib/libc/net/nslexer.c: freebsd/lib/libc/net/nslexer.l cd freebsd/lib/libc/net && lex -P _nsyy -DYY_BUF_SIZE=1024 -o nslexer.c nslexer.l freebsd/sbin/pfctl/parse.h: freebsd/sbin/pfctl/parse.c freebsd/sbin/pfctl/parse.c: freebsd/sbin/pfctl/parse.y cd freebsd/sbin/pfctl && yacc -p pfctly -o parse.c -d parse.y freebsd/contrib/libpcap/grammar.h: freebsd/contrib/libpcap/grammar.c freebsd/contrib/libpcap/grammar.c: freebsd/contrib/libpcap/grammar.y cd freebsd/contrib/libpcap && yacc -p pcap_ -o grammar.c -d grammar.y freebsd/contrib/libpcap/scanner.h: freebsd/contrib/libpcap/scanner.c freebsd/contrib/libpcap/scanner.c: freebsd/contrib/libpcap/scanner.l cd freebsd/contrib/libpcap && lex -P pcap_ --header-file=scanner.h --nounput -o scanner.c scanner.l clean-yacc: rm $(YACC_GENERATED) clean-lex: rm $(LEX_GENERATED) clean: clean-yacc clean-lex rm $(GENERATED)