From 008d0be72b2f160382c6e880765e96b64a050c65 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 3 Jan 2015 12:04:58 +0100 Subject: imported original firmware WRT54GL_v4.30.11_11_US --- release/src/router/Makefile | 755 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 755 insertions(+) create mode 100644 release/src/router/Makefile (limited to 'release/src/router/Makefile') diff --git a/release/src/router/Makefile b/release/src/router/Makefile new file mode 100644 index 00000000..26d05f09 --- /dev/null +++ b/release/src/router/Makefile @@ -0,0 +1,755 @@ +# +# Broadcom Linux Router Makefile +# +# Copyright 2005, Broadcom Corporation +# All Rights Reserved. +# +# THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY +# KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM +# SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. +# +# $Id: Makefile,v 1.65.26.5 2006/07/20 01:22:42 honor Exp $ +# + +include .config +ifneq ($(wildcard ../cy_conf.mak),) + include ../cy_conf.mak +endif + +# +# Paths +# + +# Source bases +export PLATFORM LINUXDIR LIBDIR USRLIBDIR +export TOP := $(shell pwd) +export SRCBASE := $(shell (cd $(TOP)/.. && pwd -P)) + +# +# Cross-compile environment variables +# + +# Build platform +export BUILD := i386-pc-linux-gnu +export HOSTCC := gcc + +# uClibc wrapper +ifeq ($(CONFIG_UCLIBC),y) +export PLATFORM := $(PLATFORM)-uclibc +endif + +ifeq ($(PLATFORM),mipsel) +export CROSS_COMPILE := mipsel-linux- +export CONFIGURE := ./configure mipsel-linux --build=$(BUILD) +export TOOLCHAIN := $(shell cd $(dir $(shell which $(CROSS_COMPILE)gcc))/../mipsel-linux && pwd -P) +endif + +ifeq ($(PLATFORM),mipsel-uclibc) +export CROSS_COMPILE := mipsel-uclibc- +export CONFIGURE := ./configure mipsel-linux --build=$(BUILD) +export TOOLCHAIN := $(shell cd $(dir $(shell which $(CROSS_COMPILE)gcc))/.. && pwd -P) +endif + + +ifeq ($(CONFIG_BCMWPA2),y) +export CFLAGS += -DBCMWPA2 +endif + +export CC := $(CROSS_COMPILE)gcc +export AR := $(CROSS_COMPILE)ar +export AS := $(CROSS_COMPILE)as +export LD := $(CROSS_COMPILE)ld +export NM := $(CROSS_COMPILE)nm +export RANLIB := $(CROSS_COMPILE)ranlib +export STRIP := $(CROSS_COMPILE)strip +export SIZE := $(CROSS_COMPILE)size + +# +# Install and target directories +# + +export PLATFORMDIR := $(TOP)/$(PLATFORM) +export INSTALLDIR := $(PLATFORMDIR)/install +export TARGETDIR := $(PLATFORMDIR)/target + +# always build libbcmcrypto +obj-y += libbcmcrypto + +# +# Configuration +# +CONFIG_IPTABLES=y + +obj-$(CONFIG_NVRAM) += nvram +obj-$(CONFIG_SHARED) += shared +obj-$(CONFIG_LIBBCM) += libbcm +obj-$(CONFIG_HTTPD) += httpd +obj-$(CONFIG_RC) += rc +obj-$(CONFIG_WWW) += www +obj-$(CONFIG_GLIBC) += lib +obj-$(CONFIG_UCLIBC) += lib +obj-$(CONFIG_WLCONF) += wlconf +obj-$(CONFIG_BRIDGE) += bridge +obj-$(CONFIG_BUSYBOX) += busybox +obj-$(CONFIG_DNSMASQ) += dnsmasq +obj-$(CONFIG_IPTABLES) += iptables +obj-$(CONFIG_LIBIPT) += iptables +obj-$(CONFIG_NAS) += nas +obj-$(CONFIG_SES) += ses +obj-$(CONFIG_EZC) += ezc +obj-$(CONFIG_NETCONF) += netconf +obj-$(CONFIG_NTP) += ntpclient +obj-$(CONFIG_PPP) += ppp +obj-$(CONFIG_UDHCPD) += udhcpd +obj-$(CONFIG_UPNP) += upnp +obj-$(CONFIG_UTILS) += utils +obj-$(CONFIG_ETC) += etc +obj-$(CONFIG_VLAN) += vlan + +obj-$(CONFIG_OPENSSL) += openssl +#obj-$(CONFIG_LIBNET) += net +#obj-$(CONFIG_LIBPCAP) += pcap + +################################################################## +CONFIG_OTHERS=y + +ifeq ($(HSIAB_SUPPORT),1) +CONFIG_OPENSSL=y +CONFIG_HTTPD_R=y +CONFIG_HSIAB=y +CONFIG_SSLCLIENT=y +obj-$(CONFIG_HTTPD_R) += httpd_r +obj-$(CONFIG_HSIAB) += hsiab +obj-$(CONFIG_SSLCLIENT) += sslclient +endif +ifeq ($(HTTPS_SUPPORT),1) +CONFIG_OPENSSL=y +endif +ifeq ($(SNMP_SUPPORT),1) +CONFIG_OPENSSL=y +endif +ifeq ($(MDNS_SUPPORT),1) +CONFIG_MDNS=y +obj-$(CONFIG_MDNS) += mDNS +endif +ifeq ($(EMI_TEST),1) +CONFIG_EMITEST=y +CONFIG_WLTEST=y +obj-$(CONFIG_EMITEST) += emi +obj-$(CONFIG_WLTEST) += wltest +endif +ifeq ($(SNMP_SUPPORT),1) +obj-$(CONFIG_SNMP) += snmp +endif +ifeq ($(L2TP_SUPPORT),1) +obj-$(CONFIG_L2TP) += rp-l2tp +endif +ifeq ($(HEARTBEAT_SUPPORT),1) +obj-$(CONFIG_HEARTBEAT) += bpalogin +endif +ifeq ($(PARENTAL_CONTROL_SUPPORT),1) + ifeq ($(LOCALE),EUROPE) + obj-$(CONFIG_PARENTAL_CONTROL) += artemis_old + else + obj-$(CONFIG_PARENTAL_CONTROL) += artemis + endif +endif + +ifeq ($(WAKE_ON_LAN_SUPPORT),1) +obj-$(CONFIG_WAKE_ON_LAN) += wol +endif + +ifeq ($(TINYLOGIN_SUPPORT),1) +obj-$(CONFIG_TINYLOGIN) += tinylogin +endif + +ifeq ($(SAMBA_SUPPORT),1) +obj-$(CONFIG_SAMBA) += samba +endif + +ifeq ($(MULTICAST_SUPPORT),1) +obj-$(CONFIG_MULTICAST) += igmp-proxy +endif + +ifeq ($(VERIZON_LAN_SUPPORT),1) +obj-$(CONFIG_VERIZON_LAN) += dhcprelay +endif + +obj-$(CONFIG_TFTPD) += tftpd +obj-$(CONFIG_CRON) += cron +obj-$(CONFIG_PPTP) += pptp-client +obj-$(CONFIG_PPPD) += pppd +#obj-$(CONFIG_ZEBRA) += zebra +obj-$(CONFIG_DDNS) += ipupdate +obj-$(CONFIG_OPENSSL) += openssl +obj-$(CONFIG_OTHERS) += others +obj-$(CONFIG_DIAG) += traceroute + +ifeq ($(RXP_SUPPORT),1) +obj-$(CONFIG_RXP) += rxp +endif + +ifeq ($(PEANUTHULL_SUPPORT),1) +obj-$(CONFIG_PEANUTHULL) += peanuthull +endif + +ifeq ($(EOU_SUPPORT),1) +obj-$(CONFIG_EOU) += eou +endif + +ifeq ($(HW_QOS_SUPPORT),1) +obj-$(CONFIG_HW_QOS) += iproute2 +endif + +ifeq ($(PPPOE_SERVER_SUPPORT),1) +obj-$(CONFIG_PPPOE_SERVER) += rp-pppoe +endif +ifeq ($(PPPOE_RELAY_SUPPORT),1) +obj-$(CONFIG_PPPOE_RELAY) += rp-pppoe +endif +ifeq ($(UTELNETD_SUPPORT),1) +obj-$(CONFIG_UTELNETD) += utelnetd +endif + + +obj-$(CONFIG_ZEBRA) += zebra + +obj-clean := $(foreach obj,$(obj-y) $(obj-n),$(obj)-clean) +obj-install := $(foreach obj,$(obj-y),$(obj)-install) + +# +# Basic rules +# + +all: clean_target $(obj-y) $(LINUXDIR)/.config + # Also build kernel + # first make dep + $(MAKE) -C $(LINUXDIR) dep + if ! grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \ + $(MAKE) -C $(LINUXDIR) zImage ; \ + fi + if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \ + $(MAKE) -C $(LINUXDIR) modules ; \ + fi + +clean: $(obj-clean) + rm -rf $(TARGETDIR) + rm -f $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image + if grep -q "MULTILANG_SUPPORT=1" ../cy_conf.mak ; then \ + rm -f $(PLATFORMDIR)/*lang.trx ; \ + rm -f $(PLATFORMDIR)/*lang.image ; \ + rm -f $(PLATFORMDIR)/lcode.* ; \ + fi + +clean_target: + rm -rf $(TARGETDIR) + rm -f $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image + +distclean mrproper: clean + rm -f .config $(LINUXDIR)/.config + +optimize-lib: + #../../tools/optimize_lib.sh netconf/ libnetconf.so libnetconf.a libnetconf_min.so $(TARGETDIR) $(TARGETDIR)/usr/lib/libnetconf.so + find $(TARGETDIR) -name ".svn" | xargs rm -rf +ifeq ($(CONFIG_OPENSSL),y) + ../../tools/optimize_lib.sh openssl/ libcrypto.so libcrypto.a libcrypto_min.so $(TARGETDIR) $(TARGETDIR)/usr/lib/libcrypto.so + ../../tools/optimize_lib.sh openssl/ libssl.so libssl.a libssl_min.so $(TARGETDIR) $(TARGETDIR)/usr/lib/libssl.so +endif +ifeq ($(ZEBRA_SUPPORT),1) + ../../tools/optimize_lib.sh zebra/lib/ libzebra.so libzebra.a libzebra_min.so $(TARGETDIR) $(TARGETDIR)/usr/lib/libzebra.so +endif + ../../tools/optimize_lib.sh shared/ libshared.so libshared.a libshared_min.so $(TARGETDIR) $(TARGETDIR)/usr/lib/libshared.so + ../../tools/optimize_lib.sh lib/ libm.so libm.a libm_min.so $(TARGETDIR) $(TARGETDIR)/lib/libm.so.0 + ../../tools/optimize_lib.sh busybox/ libbb.so libbb.a libbb_min.so $(TARGETDIR) $(TARGETDIR)/usr/lib/libbb.so + ../../tools/optimize_lib.sh iptables/ libiptables.so libiptables.a libiptables_min.so $(TARGETDIR) $(TARGETDIR)/usr/lib/libiptables.so + +install package: $(filter-out lib-install,$(obj-install)) $(LINUXDIR)/.config + # Install binaries into target directory + install -d $(TARGETDIR) + for dir in $(wildcard $(patsubst %,$(INSTALLDIR)/%,$(obj-y))) ; do \ + (cd $${dir} && tar cpf - .) | (cd $(TARGETDIR) && tar xpf -) \ + done + # optimize the crypto library by removing unneeded symbols + [ ! -d libbcmcrypto ] || $(MAKE) -C libbcmcrypto optimize + # Install (and possibly optimize) C library + $(MAKE) lib-install + # optimize the others library by removing unneeded symbols + $(MAKE) optimize-lib + # Install modules into filesystem + if grep -q "CONFIG_MODULES=y" $(LINUXDIR)/.config ; then \ + $(MAKE) -C $(LINUXDIR) modules_install DEPMOD=/bin/true INSTALL_MOD_PATH=$(TARGETDIR) ; \ + fi + find $(TARGETDIR) -name "wl_*.o" | xargs rm -rf + # Prepare filesystem + cd $(TARGETDIR) && $(TOP)/misc/rootprep.sh + cd $(TARGETDIR) && find . -iname "CVS" | xargs rm -rf + # Make sure mkcramfs-2.0 is used + if grep -q "CONFIG_SQUASHFS=y" $(LINUXDIR)/.config ; then \ + $(MAKE) -C $(LINUXDIR)/scripts/squashfs ; \ + $(LINUXDIR)/scripts/squashfs/mksquashfs $(TARGETDIR) $(PLATFORMDIR)/target.image -info ; \ + if grep -q "MULTILANG_SUPPORT=1" ../cy_conf.mak ; then \ + rm -f $(PLATFORMDIR)/*lang.* ; \ + rm -f $(PLATFORMDIR)/lcode.trx ; \ + $(LINUXDIR)/scripts/squashfs/mksquashfs www/$(WEB_PAGE) $(PLATFORMDIR)/default_lang.image -info ; \ + fi \ + elif grep -q "CONFIG_CRAMFS=y" $(LINUXDIR)/.config ; then \ + $(MAKE) -C $(LINUXDIR)/scripts/cramfs mkcramfs ; \ + if grep -q "CONFIG_LZMA_FS_INFLATE=y" $(LINUXDIR)/.config ; then \ + $(LINUXDIR)/scripts/cramfs/mkcramfs -l $(TARGETDIR) $(PLATFORMDIR)/target.image ; \ + if grep -q "MULTILANG_SUPPORT=1" ../cy_conf.mak ; then \ + rm -f $(PLATFORMDIR)/*lang.* ; \ + rm -f $(PLATFORMDIR)/lcode.trx ; \ + $(LINUXDIR)/scripts/cramfs/mkcramfs -l www/$(WEB_PAGE) $(PLATFORMDIR)/default_lang.image ; \ + fi \ + else \ + $(LINUXDIR)/scripts/cramfs/mkcramfs $(TARGETDIR) $(PLATFORMDIR)/target.image ; \ + if grep -q "MULTILANG_SUPPORT=1" ../cy_conf.mak ; then \ + rm -f $(PLATFORMDIR)/*lang.* ; \ + rm -f $(PLATFORMDIR)/lcode.trx ; \ + $(LINUXDIR)/scripts/cramfs/mkcramfs www/$(WEB_PAGE) $(PLATFORMDIR)/default_lang.image ; \ + fi \ + fi \ + fi + # Package kernel and filesystem + if grep -q "CONFIG_EMBEDDED_RAMDISK=y" $(LINUXDIR)/.config ; then \ + cp $(PLATFORMDIR)/target.image $(LINUXDIR)/arch/mips/ramdisk/$${CONFIG_EMBEDDED_RAMDISK_IMAGE} ; \ + $(MAKE) -C $(LINUXDIR) zImage ; \ + else \ + cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/vmlinuz $(PLATFORMDIR)/ ; \ + trx -o $(PLATFORMDIR)/linux.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image ; \ + if grep -q "MULTILANG_SUPPORT=1" ../cy_conf.mak ; then \ + trx -o $(PLATFORMDIR)/lcode.trx $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.image ; \ + trx -o $(PLATFORMDIR)/default_lang.trx $(PLATFORMDIR)/default_lang.image ; \ + fi \ + fi + + # Pad self-booting Linux to a 64 KB boundary + cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/zImage $(PLATFORMDIR)/ + dd conv=sync bs=64k < $(PLATFORMDIR)/zImage > $(PLATFORMDIR)/linux.bin + # Append filesystem to self-booting Linux + cat $(PLATFORMDIR)/target.image >> $(PLATFORMDIR)/linux.bin + +# +# Configuration rules +# + +conf mconf: + $(MAKE) -C config + @./config/$@ ./config/Config + # Also configure kernel + $(MAKE) k$@ + +oldconf: .config + $(MAKE) -C config + @./config/conf -o ./config/Config + # Also configure kernel + $(MAKE) k$@ + +kconf: + $(MAKE) -C $(LINUXDIR) config + +kmconf: + $(MAKE) -C $(LINUXDIR) menuconfig + +koldconf: $(LINUXDIR)/.config + $(MAKE) -C $(LINUXDIR) oldconfig + +# Convenience +config: conf + +menuconfig: mconf + +oldconfig: oldconf + +# Default configurations +.config: + cp config/defconfig $@ + $(MAKE) oldconfig + +$(LINUXDIR)/.config: + cp $(LINUXDIR)/arch/mips/defconfig-bcm947xx $@ + +# +# Overrides +# + +OLDBBCFG=$(shell basename $$(readlink busybox/Config.h)) +CURBBCFG=$(CONFIG_BUSYBOX_CONFIG).h + +busybox/Config.h: dummy +ifneq ($(OLDBBCFG),$(CURBBCFG)) + cd busybox && rm -f Config.h && ln -sf configs/$(CURBBCFG) Config.h && touch Config.h +endif + +busybox: busybox/Config.h + $(MAKE) -C busybox STRIPTOOL=$(STRIP) + +busybox-install: + $(MAKE) -C busybox STRIPTOOL=$(STRIP) PREFIX=$(INSTALLDIR)/busybox install + +httpd: nvram shared openssl hsiab + $(MAKE) -C httpd + +rc: netconf nvram shared openssl hsiab libnet +ifneq ($(CONFIG_BUSYBOX),) +rc: busybox/Config.h +endif + +www www-%: + $(MAKE) -C www/$(WEB_PAGE) $* INSTALLDIR=$(INSTALLDIR)/www + +bridge: + $(MAKE) -C bridge brctl/brctl + +bridge-install: + install -D bridge/brctl/brctl $(INSTALLDIR)/bridge/usr/sbin/brctl + $(STRIP) $(INSTALLDIR)/bridge/usr/sbin/brctl + +dnsmasq-install: + install -D dnsmasq/dnsmasq $(INSTALLDIR)/dnsmasq/usr/sbin/dnsmasq + $(STRIP) $(INSTALLDIR)/dnsmasq/usr/sbin/dnsmasq + +iptables: + $(MAKE) -C iptables BINDIR=/usr/sbin LIBDIR=/usr/lib KERNEL_DIR=$(LINUXDIR) + +iptables-install: +ifeq ($(CONFIG_IPTABLES),y) + install -d $(INSTALLDIR)/iptables/usr/lib/iptables + install iptables/extensions/*.so $(INSTALLDIR)/iptables/usr/lib/iptables + $(STRIP) $(INSTALLDIR)/iptables/usr/lib/iptables/*.so + install -D iptables/iptables $(INSTALLDIR)/iptables/usr/sbin/iptables + $(STRIP) $(INSTALLDIR)/iptables/usr/sbin/iptables + install -D iptables/iptables-restore $(INSTALLDIR)/iptables/usr/sbin/iptables-restore + $(STRIP) $(INSTALLDIR)/iptables/usr/sbin/iptables-restore + install -D iptables/libiptables.so $(INSTALLDIR)/iptables/usr/lib/libiptables.so + $(STRIP) $(INSTALLDIR)/iptables/usr/lib/libiptables.so +else + # So that generic rule does not take precedence + @true +endif + +iptables-clean: + -$(MAKE) -C iptables KERNEL_DIR=$(LINUXDIR) clean + + +netconf: iptables + +ntpclient-install: + install -D ntpclient/ntpclient $(INSTALLDIR)/ntpclient/usr/sbin/ntpclient + $(STRIP) $(INSTALLDIR)/ntpclient/usr/sbin/ntpclient + +ppp ppp-%: + $(MAKE) -C ppp/pppoecd $* INSTALLDIR=$(INSTALLDIR)/ppp + +udhcpd: shared nvram + +udhcpd-install: + install -D udhcpd/udhcpd $(INSTALLDIR)/udhcpd/usr/sbin/udhcpd + install -D udhcpd/dumpleases $(INSTALLDIR)/udhcpd/usr/sbin/dumpleases + $(STRIP) $(INSTALLDIR)/udhcpd/usr/sbin/udhcpd + $(STRIP) $(INSTALLDIR)/udhcpd/usr/sbin/dumpleases + cd $(INSTALLDIR)/udhcpd/usr/sbin && ln -sf udhcpd udhcpc + +upnp: netconf nvram shared + +wlconf: nvram shared + +vlan: + $(MAKE) -C vlan CROSS=$(CROSS_COMPILE) STRIPTOOL=$(STRIP) + +vlan-install: + $(MAKE) -C vlan CROSS=$(CROSS_COMPILE) STRIPTOOL=$(STRIP) INSTALLDIR=$(INSTALLDIR) install + +vlan-clean: + $(MAKE) -C vlan clean + +nas-install: + cd $(INSTALLDIR)/nas/usr/sbin && ln -sf nas nas4not + +libbcm: + [ ! -f libbcm/Makefile ] || $(MAKE) -C libbcm + +libbcm-install: + install -D libbcm/libbcm.so $(INSTALLDIR)/libbcm/usr/lib/libbcm.so + $(STRIP) $(INSTALLDIR)/libbcm/usr/lib/libbcm.so + +ses: + [ ! -f ses/Makefile ] || $(MAKE) -C ses + +ses-install: + install -D ses/ses/ses $(INSTALLDIR)/ses/usr/sbin/ses + $(STRIP) $(INSTALLDIR)/ses/usr/sbin/ses + +######################################################################## +# Below is added by CT + +tftpd-install: + [ ! -d tftpd ] || install -D tftpd/tftpd $(INSTALLDIR)/tftpd/usr/sbin/tftpd + $(STRIP) $(INSTALLDIR)/tftpd/usr/sbin/tftpd + +cron-install: + #install -d $(INSTALLDIR)/cron/etc/cron.d + install -D cron/cron $(INSTALLDIR)/cron/usr/sbin/cron + $(STRIP) $(INSTALLDIR)/cron/usr/sbin/cron + +pptp-client-install: + install -D pptp-client/pptp $(INSTALLDIR)/pptp-client/usr/sbin/pptp + $(STRIP) $(INSTALLDIR)/pptp-client/usr/sbin/pptp + +pppd: + $(MAKE) -C pppd/pppd + +pppd-clean: + $(MAKE) -C pppd/pppd clean + +pppd-install: + install -D pppd/pppd/pppd $(INSTALLDIR)/pppd/usr/sbin/pppd + $(STRIP) $(INSTALLDIR)/pppd/usr/sbin/pppd + +ipupdate-install: + install -D ipupdate/ez-ipupdate $(INSTALLDIR)/ipupdate/usr/sbin/ez-ipupdate + $(STRIP) $(INSTALLDIR)/ipupdate/usr/sbin/ez-ipupdate + +zebra: + $(MAKE) -C zebra CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) + +zebra-install: + install -D zebra/zebra/zebra $(INSTALLDIR)/zebra/usr/sbin/zebra + install -D zebra/ripd/ripd $(INSTALLDIR)/zebra/usr/sbin/ripd + install -D zebra/lib/libzebra.so $(INSTALLDIR)/zebra/usr/lib/libzebra.so + $(STRIP) $(INSTALLDIR)/zebra/usr/sbin/zebra + $(STRIP) $(INSTALLDIR)/zebra/usr/sbin/ripd + $(STRIP) $(INSTALLDIR)/zebra/usr/lib/libzebra.so + +openssl-install: + install -D openssl/libcrypto.so $(INSTALLDIR)/openssl/usr/lib/libcrypto.so + $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libcrypto.so + install -D openssl/libssl.so $(INSTALLDIR)/openssl/usr/lib/libssl.so + $(STRIP) $(INSTALLDIR)/openssl/usr/lib/libssl.so + install -D openssl/apps/openssl $(INSTALLDIR)/openssl/usr/sbin/openssl + $(STRIP) $(INSTALLDIR)/openssl/usr/sbin/openssl + +ifeq ($(PEANUTHULL_SUPPORT),1) +peanuthull-install: + install -D peanuthull/peanuthull $(INSTALLDIR)/peanuthull/usr/sbin/peanuthull + $(STRIP) $(INSTALLDIR)/peanuthull/usr/sbin/peanuthull +endif + +ifeq ($(HSIAB_SUPPORT),1) +httpd_r-install: + install -D httpd_r/httpd_r $(INSTALLDIR)/httpd_r/usr/sbin/httpd_r + $(STRIP) $(INSTALLDIR)/httpd_r/usr/sbin/httpd_r + +hsiab-install: + install -D hsiab/libhsiab.so $(INSTALLDIR)/hsiab/usr/lib/libhsiab.so + install -D hsiab/test/test_register $(INSTALLDIR)/hsiab/usr/sbin/test_register + install -D hsiab/test/test_hsiab $(INSTALLDIR)/hsiab/usr/sbin/test_hsiab + $(STRIP) $(INSTALLDIR)/hsiab/usr/lib/libhsiab.so + $(STRIP) $(INSTALLDIR)/hsiab/usr/sbin/test_register + $(STRIP) $(INSTALLDIR)/hsiab/usr/sbin/test_hsiab + +sslclient: openssl + $(MAKE) -C sslclient + +sslclient-install: + install -D sslclient/sslclient $(INSTALLDIR)/sslclient/usr/sbin/sslclient + install -D sslclient/root.pem $(INSTALLDIR)/sslclient/etc/root.pem + install -D sslclient/client.pem $(INSTALLDIR)/sslclient/etc/client.pem + $(STRIP) $(INSTALLDIR)/sslclient/usr/sbin/sslclient +endif + +ifeq ($(MDNS_SUPPORT),1) +mDNS: + $(MAKE) -C mDNS/mDNSPosix os=linux + +mDNS-clean: + $(MAKE) -C mDNS/mDNSPosix clean + +mDNS-install: + install -D mDNS/mDNSPosix/build/mDNSResponderPosix $(INSTALLDIR)/mDNS/usr/sbin/mDNSResponderPosix + $(STRIP) $(INSTALLDIR)/mDNS/usr/sbin/mDNSResponderPosix +endif + +ifeq ($(EMI_TEST),1) +emi-install: + install -d $(INSTALLDIR)/emi/usr/sbin/ + cp -f emi/*_* $(INSTALLDIR)/emi/usr/sbin/ + +wltest-install: + install -D wltest/wltest $(INSTALLDIR)/wltest/usr/sbin/wltest + $(STRIP) $(INSTALLDIR)/wltest/usr/sbin/wltest +endif + +ifeq ($(L2TP_SUPPORT),1) +rp-l2tp-install: + install -d $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp + install rp-l2tp/handlers/*.so $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp + $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/lib/l2tp/*.so + install -D rp-l2tp/handlers/l2tp-control $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tp-control + $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tp-control + install -D rp-l2tp/l2tpd $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tpd + $(STRIP) $(INSTALLDIR)/rp-l2tp/usr/sbin/l2tpd +endif + +ifeq ($(HEARTBEAT_SUPPORT),1) +bpalogin-install: + install -D bpalogin/bpalogin $(INSTALLDIR)/bpalogin/usr/sbin/bpalogin + $(STRIP) $(INSTALLDIR)/bpalogin/usr/sbin/bpalogin +endif + +ifeq ($(MULTICAST_SUPPORT),1) +igmp-proxy-install: + [ ! -d igmp-proxy ] || install -D igmp-proxy/igmprt $(INSTALLDIR)/igmp-proxy/usr/sbin/igmprt + $(STRIP) $(INSTALLDIR)/igmp-proxy/usr/sbin/igmprt +endif + +ifeq ($(VERIZON_LAN_SUPPORT),1) +dhcprelay-install: + install -D dhcprelay/dhcrelay $(INSTALLDIR)/dhcprelay/usr/sbin/dhcrelay + $(STRIP) $(INSTALLDIR)/dhcprelay/usr/sbin/dhcrelay +endif + +ifeq ($(SNMP_SUPPORT),1) +snm/libp: openssl + $(MAKE) -C snmp CC=$(CC) SHLIB_LD_CMD="$(AR) cr" +snmp-install: + install -D snmp/agent/snmpd $(INSTALLDIR)/snmp/usr/sbin/snmpd + $(STRIP) $(INSTALLDIR)/snmp/usr/sbin/snmpd + install -D snmp/snmplib/libsnmp.so $(INSTALLDIR)/snmp/usr/lib/libsnmp.so + $(STRIP) $(INSTALLDIR)/snmp/usr/lib/libsnmp.so + install -D snmp/apps/snmptrap $(INSTALLDIR)/snmp/usr/sbin/snmptrap + $(STRIP) $(INSTALLDIR)/snmp/usr/sbin/snmptrap + install -D snmp/gen_snmpd_conf/gen_snmpd_conf $(INSTALLDIR)/snmp/usr/sbin/gen_snmpd_conf + $(STRIP) $(INSTALLDIR)/snmp/usr/sbin/gen_snmpd_conf + install -D snmp/agent/snmpd.conf $(INSTALLDIR)/snmp/usr/local/share/snmp/snmpd.conf +endif + +ifeq ($(PARENTAL_CONTROL_SUPPORT),1) +artemis: nvram + [ ! -d artemis ] || $(MAKE) -C artemis deps + [ ! -d artemis ] || $(MAKE) -C artemis CC=$(CC) AR=$(AR) + +artemis-install: + [ ! -d artemis ] || install -D artemis/LINUX/artemis $(INSTALLDIR)/artemis/usr/sbin/artemis + [ ! -d artemis ] || install -D artemis/LINUX/artmain $(INSTALLDIR)/artemis/usr/sbin/artmain + $(STRIP) $(INSTALLDIR)/artemis/usr/sbin/artemis + $(STRIP) $(INSTALLDIR)/artemis/usr/sbin/artmain +artemis_old: nvram + [ ! -d artemis_old ] || $(MAKE) -C artemis_old deps + [ ! -d artemis_old ] || $(MAKE) -C artemis_old CC=$(CC) AR=$(AR) + +artemis_old-install: + [ ! -d artemis_old ] || install -D artemis_old/LINUX/artemis $(INSTALLDIR)/artemis_old/usr/sbin/artemis + [ ! -d artemis_old ] || install -D artemis_old/LINUX/artmain $(INSTALLDIR)/artemis_old/usr/sbin/artmain + $(STRIP) $(INSTALLDIR)/artemis_old/usr/sbin/artemis + $(STRIP) $(INSTALLDIR)/artemis_old/usr/sbin/artmain +endif + +ifeq ($(EOU_SUPPORT),1) +eou: libnet libpcap + [ ! -d eou ] || $(MAKE) -C eou + +eou-install: + [ ! -d eou ] || install -D eou/eou $(INSTALLDIR)/eou/usr/sbin/eou + $(STRIP) $(INSTALLDIR)/eou/usr/sbin/eou + +libnet: + -mkdir -p libnet/lib + $(MAKE) -C libnet CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) + +libpcap: + $(MAKE) -C libpcap CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) +endif + +ifeq ($(WAKE_ON_LAN_SUPPORT),1) +wol: + [ ! -d wol ] || $(MAKE) -C wol +wol-install: + [ ! -d wol ] || install -D wol/ether-wake $(INSTALLDIR)/wol/usr/sbin/ether-wake + $(STRIP) $(INSTALLDIR)/wol/usr/sbin/ether-wake +endif + +ifeq ($(SAMBA_SUPPORT),1) +samba: + [ ! -d samba ] || $(MAKE) -C samba CC=$(CC) +samba-install: + [ ! -d samba ] || install -D samba/bin/smbclient $(INSTALLDIR)/samba/usr/sbin/smbclient + [ ! -d samba ] || install -D samba/bin/nmblookup $(INSTALLDIR)/samba/usr/sbin/nmblookup + $(STRIP) $(INSTALLDIR)/samba/usr/sbin/smbclient + $(STRIP) $(INSTALLDIR)/samba/usr/sbin/nmblookup +endif + +ifeq ($(TINYLOGIN_SUPPORT),1) +tinylogin: + [ ! -d tinylogin ] || $(MAKE) -C tinylogin +tinylogin-install: + [ ! -d tinylogin ] || $(MAKE) -C tinylogin PREFIX=$(INSTALLDIR)/tinylogin install +endif + +traceroute: + $(MAKE) -C traceroute CC=$(CC) +traceroute-install: + install -D traceroute/traceroute $(INSTALLDIR)/traceroute/usr/sbin/traceroute + $(STRIP) $(INSTALLDIR)/traceroute/usr/sbin/traceroute + +ifeq ($(HW_QOS_SUPPORT),1) +iproute2-install: + install -D iproute2/tc/tc $(INSTALLDIR)/iproute2/usr/sbin/tc + $(STRIP) $(INSTALLDIR)/iproute2/usr/sbin/tc + #install -D iproute2/ip/ip $(INSTALLDIR)/iproute2/usr/sbin/ip + #$(STRIP) $(INSTALLDIR)/iproute2/usr/sbin/ip + #install -D iproute2/tc/prio.sh $(INSTALLDIR)/iproute2/usr/sbin/prio.sh + #install -D iproute2/tc/cbq.sh $(INSTALLDIR)/iproute2/usr/sbin/cbq.sh + #install -D iproute2/tc/sfq.sh $(INSTALLDIR)/iproute2/usr/sbin/sfq.sh + #install -D iproute2/tc/vlan1.sh $(INSTALLDIR)/iproute2/usr/sbin/vlan1.sh +endif + +ifeq ($(PPPOE_SERVER_SUPPORT),1) +rp-pppoe: + $(MAKE) -C rp-pppoe/src/ pppoe + $(MAKE) -C rp-pppoe/src/ pppoe-server +rp-pppoe-install: + install -D rp-pppoe/src/pppoe-server $(INSTALLDIR)/rp-pppoe/usr/sbin/pppoe-server + install -D rp-pppoe/src/pppoe $(INSTALLDIR)/rp-pppoe/usr/sbin/pppoe + $(STRIP) $(INSTALLDIR)/rp-pppoe/usr/sbin/pppoe-server + $(STRIP) $(INSTALLDIR)/rp-pppoe/usr/sbin/pppoe +endif + +ifeq ($(PPPOE_RELAY_SUPPORT),1) +rp-pppoe: + $(MAKE) -C rp-pppoe/src/ pppoe-relay +rp-pppoe-install: + install -D rp-pppoe/src/pppoe-relay $(INSTALLDIR)/rp-pppoe/usr/sbin/pppoe-relay + $(STRIP) $(INSTALLDIR)/rp-pppoe/usr/sbin/pppoe-relay +endif +ifeq ($(RXP_SUPPORT),1) +rxp: + $(MAKE) -C rxp CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) + $(MAKE) -C rxp/example xmlparser1 CC=$(CC) +rxp-install: + install -D rxp/rxp $(INSTALLDIR)/rxp/usr/sbin/rxp + install -D rxp/example/xmlparser1 $(INSTALLDIR)/rxp/usr/sbin/xmlparser1 + $(STRIP) $(INSTALLDIR)/rxp/usr/sbin/rxp + $(STRIP) $(INSTALLDIR)/rxp/usr/sbin/xmlparser1 + +endif + +# +# Generic rules +# + +%: + [ ! -d $* ] || $(MAKE) -C $* + +%-clean: + [ ! -d $* ] || $(MAKE) -C $* clean + +%-install: + [ ! -d $* ] || $(MAKE) -C $* install INSTALLDIR=$(INSTALLDIR)/$* + +$(obj-y) $(obj-n) $(obj-clean) $(obj-install): dummy + +.PHONY: all clean distclean mrproper install package +.PHONY: conf mconf oldconf kconf kmconf config menuconfig oldconfig +.PHONY: dummy libnet libpcap -- cgit v1.2.3-54-g00ecf