MAKE = make
SUBDIRS = bridge-utils busybox-1.00-pre8 goahead-2.1.1/LINUX udhcp-0.9.9-pre \
wireless_tools.25 rc

ifneq ($(AP),1)
SUBDIRS += iptables-1.2.6a ppp-2.4.2/pppd/plugins/rp-pppoe ppp-2.4.2/pppd   pptp-linux-1.3.1 ntpclient  dnrd-2.12.1/src  updatedd-2.5 igmpproxy
endif

ifeq ($(GW_VPN),1)
SUBDIRS += mawk-1.3.3  openswan-1.0.1   gmp-4.1.2
endif

ifeq ($(DEBUG),1)
DBG=DEBUG=1
else
DBG=
endif



CONFIGURE_SNMP=configure.rtk-snmp





ifeq ($(CONFIG_SNMP),1)
SUBDIRS += net-snmp-5.4.1
endif
ifeq ($(CONFIG_SNMP),1)
EXTRA_CONFIG_CFLAGS += -DCONFIG_SNMP
APMIB_SHARED = 1
endif
export EXTRA_CONFIG_CFLAGS
export APMIB_SHARED
ifeq ($(GW_VPN),1)
BUSYBOX_DFGCONFIG=busybox-1.00-pre8/rtl8186/vpn_config
else 
BUSYBOX_DFGCONFIG=busybox-1.00-pre8/rtl8186/nm_config
endif

all:
	@echo "No rules to make target. You should choose:"
	@echo "    make {ap | gw | gw-8m | gw-vpn | clean | gw-snmp | gw-clean}"

ap:  	
	@make do-make AP=1
	@./mkimg AP=1

gw:  	
	@make do-make GW=1
	@./mkimg GW=1

gw-8m:  
	@make do-make GW_8M=1
	@./mkimg GW_8M=1

gw-vpn:
	make do-make GW_VPN=1
	@./mkimg GW_VPN=1
	
gw-snmp:
	make do-make GW=1 CONFIG_SNMP=1
	./mkimg GW_8M=1 APMIB_SHARED=1 LZ=1 CONFIG_SNMP=1
	
gw-clean:
	make clean GW=1 CONFIG_SNMP=1	

do-make:
	@diff busybox-1.00-pre8/.config $(BUSYBOX_DFGCONFIG) > diff.txt; \
			if [ -s diff.txt ]; then \
				make -C  busybox-1.00-pre8 clean ;\
				cp -f $(BUSYBOX_DFGCONFIG) busybox-1.00-pre8/.config; \
				cp -f $(BUSYBOX_DFGCONFIG).h busybox-1.00-pre8/include/config.h; \
			fi; rm -f diff.txt; 

	@if [ "$(GW_VPN)" = 1  -a ! -f  gmp-4.1.2/Makefile ];then \
		 cd gmp-4.1.2; ./config.8186; \
	fi
	@set -e; \
		for i in $(SUBDIRS); do \
			if [ $$i = net-snmp-5.4.1 ]; then \
				 cd $$i; ./$(CONFIGURE_SNMP); cd -;\
			 fi; \
			 $(MAKE) -C $$i $(DBG); \
		done

clean:
	@set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean; done
	@rm -rf rootfs ramdisk libstrip/*.so libstrip/ldscript  cramfs.o root.bin ramdisk.gz
