#
# Makefile for the GoAhead web server reference source base
#  for the Linux OS
#
# Copyright (c) GoAhead Software, Inc. 1995-2000
#
# $Id: Makefile,v 1.2 2004/02/02 05:39:17 erwin Exp $
#

include ../../../make.def

all:	compile

ARCH	= libwebs.a

NAME_GW	= webs-gw
NAME_AP = webs-ap
FLASH_GW = flash-gw
FLASH_AP = flash-ap


#STRIP	= mipsel-uclibc-strip
#CC	= mipsel-uclibc-gcc
WPA = -DWLAN_WPA
ENDIAN	= -D_LITTLE_ENDIAN_
#ENDIAN =

#STRIP	= strip
#CC	= gcc


# User Management switch
UMSW	= -DUSER_MANAGEMENT_SUPPORT

# Digest Access switch
DASW	= -DDIGEST_ACCESS_SUPPORT

# SSL switches (enable all to activate)
# SSLINC = /RSASSL/library/include
# SSLLIB = /RSASSL/library/lib/libsslc.a
# SSLSW	= -DWEBS_SSL_SUPPORT -I$(SSLINC)
# SSLPATCHFILE = ../websSSL.o

# If-Modified-Support switches (requires math library, libm.a)
# IFMODSW = -DWEBS_IF_MODIFIED_SUPPORT
# IFMODLIB = /usr/lib/libm.a

# Dependencies
DEPEND_FILES	= ../asp.o ../balloc.o ../base64.o ../cgi.o ../default.o  \
				  ../ejlex.o ../ejparse.o ../form.o \
				  ../h.o ../handler.o ../mime.o ../misc.o ../page.o  \
				  ../ringq.o ../rom.o \
				  ../sock.o ../sockGen.o $(SSLPATCHFILE) \
				  ../security.o ../sym.o ../uemf.o ../url.o ../value.o \
				  ../md5c.o ../um.o ../umui.o ../websda.o ../emfdb.o \
				  ../webrom.o ../webs.o ../websuemf.o

REALTEK_GW_FILES = apmib_gw.o fmtcpip_gw.o utility_gw.o mibtbl_gw.o fmfwall_gw.o \
			fmget_gw.o fmwlan_gw.o fmmgmt_gw.o version_gw.o

REALTEK_AP_FILES = apmib_ap.o fmtcpip_ap.o utility_ap.o mibtbl_ap.o \
			fmget_ap.o fmwlan_ap.o fmmgmt_ap.o version_ap.o

#RADIUS = WLAN_RADIUS
CFLAGS	= -DWEBS -DUEMF -DOS="LINUX" -DLINUX $(WPA) $(UMSW) $(DASW) $(SSLSW) $(IFMODSW) $(ENDIAN) $(MODEL) $(PLATFORM) $(MODE) -Os
OTHERS	= -DB_STATS -DB_FILL -DDEBUG
#DEBUG	= -g -Wall
DEBUG	= -Wall
IFLAGS 	= -I..
LDFLAGS	= $(SSLLIB) $(IFMODLIB)

ifeq ($(MODEL),-D_7206GA_)
	ifneq ($(CC),gcc)
		LDFLAGS += --static
	endif
endif

ifeq ($(GATEWAY), y)
compile: $(NAME_GW) $(FLASH_GW)
else
compile: $(NAME_AP) $(FLASH_AP) 
endif


#	webpages-gw.bin webpages-ap.bin

#
#	Build archive of objects
#
$(ARCH): $(DEPEND_FILES)
	$(AR) $(ARFLAGS) $(ARCH) $?

#
#	Primary link
#
$(NAME_GW): Makefile $(ARCH) $(REALTEK_GW_FILES) main_gw.o
	$(CC) -o $(NAME_GW) $(DEBUG) \
		$(CFLAGS) $(IFLAGS) \
		main_gw.o $(ARCH) $(REALTEK_GW_FILES)$(LDFLAGS)
	$(STRIP) $@

$(NAME_AP): Makefile $(ARCH) $(REALTEK_AP_FILES) main_ap.o
	$(CC) -o $(NAME_AP) $(DEBUG) \
		$(CFLAGS) $(IFLAGS) \
		main_ap.o $(ARCH) $(REALTEK_AP_FILES) $(LDFLAGS)
	$(STRIP) $@

$(FLASH_GW): Makefile flash_gw.o apmib_gw.o mibtbl_gw.o
	$(CC) -o $@ $(DEBUG) \
		$(CFLAGS) $(IFLAGS) \
		flash_gw.o apmib_gw.o mibtbl_gw.o $(LDFLAGS)
	$(STRIP) $@

$(FLASH_AP): Makefile flash_ap.o apmib_ap.o mibtbl_ap.o
	$(CC) -o $@ $(DEBUG) \
		$(CFLAGS) $(IFLAGS)\
		flash_ap.o apmib_ap.o mibtbl_ap.o $(LDFLAGS)
	$(STRIP) $@

webpages-gw.bin:
	find ../web-gw -name "*.*" > web_files
	./compweb web_files webpages-gw.bin

webpages-ap.bin:
	find ../web-ap -name "*.*" > web_files
	./compweb web_files webpages-ap.bin

clean:
	rm -f $(NAME_GW) $(NAME_AP) $(FLASH_AP) $(FLASH_GW) $(ARCH) *.o ../*.o

#
#	Dependencies
#
../asp.o:  ../webs.h ../wsIntrn.h ../ej.h ../ejIntrn.h ../uemf.h

../balloc.o: ../balloc.c ../uemf.h

../base64.o:  ../base64.c ../webs.h ../wsIntrn.h  ../ej.h ../ejIntrn.h ../uemf.h

../cgi.o:  ../webs.h ../wsIntrn.h ../uemf.h

../default.o:  ../default.c ../webs.h ../wsIntrn.h ../ej.h ../ejIntrn.h ../uemf.h

../ejlex.o:  ../ejlex.c ../ej.h ../ejIntrn.h ../uemf.h

../ejparse.o:  ../ejparse.c ../ej.h ../ejIntrn.h ../uemf.h

../emfdb.o:  ../emfdb.h ../wsIntrn.h ../uemf.h

../form.o:  ../form.c ../webs.h ../wsIntrn.h ../ej.h ../ejIntrn.h ../uemf.h

../h.o:  ../h.c ../uemf.h

../handler.o:  ../handler.c ../webs.h ../wsIntrn.h ../ej.h ../ejIntrn.h ../uemf.h

../md5c.o:  ../md5.h ../wsIntrn.h ../uemf.h

../mime.o:  ../mime.c ../webs.h ../wsIntrn.h ../ej.h ../ejIntrn.h ../uemf.h

../misc.o:  ../misc.c ../uemf.h

../page.o:  ../page.c ../webs.h ../wsIntrn.h ../ej.h ../ejIntrn.h ../uemf.h

../ringq.o:  ../ringq.c ../uemf.h

../rom.o:  ../rom.c ../webs.h ../wsIntrn.h ../ej.h ../ejIntrn.h ../uemf.h

../security.o:  ../security.c ../webs.h ../wsIntrn.h ../ej.h ../ejIntrn.h ../uemf.h

../sock.o:  ../sock.c ../uemf.h

../sockGen.o:  ../sockGen.c ../uemf.h

../sym.o:  ../sym.c ../uemf.h

../uemf.o:  ../uemf.c ../uemf.h

../um.o:  ../webs.h ../wsIntrn.h ../um.h ../uemf.h

../umui.o:  ../webs.h ../wsIntrn.h ../um.h ../uemf.h

../url.o:  ../url.c ../webs.h ../wsIntrn.h ../ej.h ../ejIntrn.h ../uemf.h

../value.o:  ../value.c ../uemf.h

../webrom.o:  ../webrom.c ../webs.h ../wsIntrn.h ../uemf.h

../webs.o:  ../webs.c ../webs.h ../wsIntrn.h ../ej.h ../ejIntrn.h ../uemf.h

../websda.o:  ../webs.h ../wsIntrn.h ../websda.h ../uemf.h

../websuemf.o:  ../websuemf.c ../webs.h ../wsIntrn.h ../ej.h ../ejIntrn.h ../uemf.h

../websSSL.o:  ../websSSL.c ../websSSL.h ../wsIntrn.h ../ej.h ../ejIntrn.h ../uemf.h

## new added modules by realtek ---------------
main_gw.o:  main.c ../wsIntrn.h ../webs.h ../ej.h ../ejIntrn.h ../uemf.h
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<

apmib_gw.o: apmib.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<

fmtcpip_gw.o: fmtcpip.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<

utility_gw.o: utility.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<

mibtbl_gw.o: mibtbl.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<

fmfwall_gw.o: fmfwall.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<

fmget_gw.o: fmget.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<

fmwlan_gw.o: fmwlan.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<

fmmgmt_gw.o: fmmgmt.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<

version_gw.o: version.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<

flash_gw.o: flash.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<

convert_gw.o: convert.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<
#------------------------------------------------------------------------------------------
#webs_gw.o: webs.c
#$(CC) -c -o $@ $(DEBUG) $(CFLAGS) -DHOME_GATEWAY $(IFLAGS) $<

main_ap.o:  main.c ../wsIntrn.h ../webs.h ../ej.h ../ejIntrn.h ../uemf.h
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

apmib_ap.o: apmib.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

fmtcpip_ap.o: fmtcpip.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

utility_ap.o: utility.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

mibtbl_ap.o: mibtbl.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

fmget_ap.o: fmget.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

fmwlan_ap.o: fmwlan.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

fmmgmt_ap.o: fmmgmt.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

version_ap.o: version.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

flash_ap.o: flash.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

convert_ap.o: convert.c
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

#webs_ap.o: webs.c
#	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<
## --------------------------------------------


#
#	Transition rules (add -o to put object in right directory)
#
.c.o:
	$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<
