1include ../common.mak 2 3CFLAGS += -Os -Wall $(EXTRACFLAGS) 4CFLAGS += -I$(SRCBASE) -I$(SRCBASE)/include -I. -I$(TOP)/shared -I$(TOP)/zlib 5CFLAGS += -I$(TOP)/push_log 6CFLAGS += -DASUS_DDNS -DTRANSLATE_ON_FLY -DFLASH_EMULATOR -DLinux -DWSC 7 8ifeq ($(RTCONFIG_BCM_7114),y) 9CFLAGS += -I$(SRCBASE)/../dhd/components/shared/ 10endif 11 12ifeq ($(RTCONFIG_RALINK),y) 13CFLAGS += -DRalink_WPS 14CFLAGS += -I$(TOP)/shared/sysdeps/ralink -I$(TOP)/wireless_tools 15endif 16 17ifeq ($(RTCONFIG_QCA),y) 18CFLAGS += -DQCA_WPS 19CFLAGS += -I$(TOP)/shared/sysdeps/qca -I$(TOP)/wireless_tools 20endif 21 22include $(SRCBASE)/.config 23 24ifeq ($(RTN11P)$(RTN300),y) 25CFLAGS += -DBAND_2G_ONLY 26endif 27 28ifeq ($(RTN14U),y) 29CFLAGS += -DBAND_2G_ONLY 30endif 31 32ifeq ($(RTN14U)$(RTAC52U)$(RTAC51U)$(RTN11P)$(RTN300)$(RTN54U)$(RTAC1200HP)$(RTN56UB1)$(RTN56UB2)$(RTAC54U),y) 33CFLAGS += -DRA_ESW 34endif 35 36ifeq ($(RTCONFIG_USB),y) 37CFLAGS += -I$(TOP)/libdisk 38endif 39 40ifeq ($(RTCONFIG_DNSMASQ),y) 41CFLAGS += -DDNSMASQ 42endif 43 44ifeq ($(RTCONFIG_BWDPI),y) 45CFLAGS += -I$(TOP)/bwdpi/ -I$(TOP)/sqlite -I$(TOP)/bwdpi_sqlite 46endif 47 48ifeq ($(RTCONFIG_TRAFFIC_LIMITER),y) 49CFLAGS += -I$(TOP)/traffic_limiter 50CFLAGS += -I$(TOP)/sqlite 51endif 52 53OBJS = httpd.o cgi.o ej.o 54OBJS += web.o common.o nvram_f.o 55OBJS += aspbw.o initial_web_hook.o 56OBJS += apps.o 57 58ifeq ($(CONFIG_RALINK),y) 59OBJS += web-ralink.o 60else ifeq ($(CONFIG_QCA),y) 61OBJS += web-qca.o 62else 63ifeq ($(RTCONFIG_BCMWL6),y) 64OBJS += web-broadcom-wl6.o 65ifeq ($(RTCONFIG_QTN),y) 66OBJS += find_host_addr.o 67endif 68else 69OBJS += web-broadcom.o 70endif 71endif 72 73ifeq ($(RTCONFIG_DSL),y) 74OBJS += web-dsl.o 75ifeq ($(RTCONFIG_RALINK),y) 76OBJS += web-dsl-upg.o 77endif 78endif 79 80ifeq ($(RTCONFIG_GEOIP),y) 81OBJS += geoiplookup.o 82endif 83 84ifeq ($(RTCONFIG_HTTPS),y) 85OBJS += $(if $(wildcard pwenc.c), pwenc.o, prebuild/pwenc.o) 86endif 87 88OBJS += $(if $(wildcard web_hook.c), web_hook.o, prebuild/web_hook.o) 89 90LIBS = -L$(TOP)/nvram${BCMEX} -lnvram -L$(TOP)/shared -lshared 91# for ceil() 92LIBS += -lm 93 94ifeq ($(RTCONFIG_PUSH_EMAIL),y) 95LIBS += -L$(TOP)/openssl -lcrypto -lssl -ldl 96LIBS += -L$(TOP)/curl-7.21.7/lib/.libs -lcurl 97LIBS += -L$(TOP)/libxml2/.libs -lxml2 98LIBS += -L$(TOP)/wb -lws 99LIBS += -L$(TOP)/push_log -lpush_log 100endif 101 102ifeq ($(RTCONFIG_BCMARM),y) 103CFLAGS += -I$(SRCBASE)/shared/bcmwifi/include -DTYPEDEF_FLOAT_T 104CFLAGS += -I$(SRCBASE)/common/include 105LIBS += -lgcc_s 106ifeq ($(RTCONFIG_QTN),y) 107CFLAGS += -I$(TOP)/libqcsapi_client -I$(TOP)/shared/sysdeps/qtn 108LIBS += -L$(TOP)/libqcsapi_client -lqcsapi_client 109endif 110endif 111 112ifeq ($(RTCONFIG_USB),y) 113LIBS += -L$(TOP)/libdisk -ldisk 114endif 115 116ifeq ($(RTCONFIG_HTTPS),y) 117CFLAGS += -I$(TOP)/mssl 118CFLAGS += -I$(TOP)/openssl/include 119LIBS += -L$(TOP)/mssl -lmssl 120LIBS += -L$(TOP)/openssl -lssl -lcrypto -ldl 121endif 122 123ifeq ($(RTCONFIG_OPENVPN),y) 124OBJS += openvpn_options.o 125LIBS += -L$(TOP)/openssl -lssl -lcrypto -ldl 126endif 127 128CFLAGS += -I$(TOP)/json-c 129LIBS += -L$(TOP)/json-c/.libs -ljson-c 130 131ifeq ($(RTCONFIG_BWDPI),y) 132LIBS += -L$(TOP)/bwdpi -lbwdpi 133LIBS += -L$(TOP)/bwdpi_sqlite -lbwdpi_sql 134LIBS += -L$(TOP)/sqlite/.libs -lsqlite3 135LIBS += -lpthread 136endif 137 138ifeq ($(RTCONFIG_TRAFFIC_LIMITER),y) 139LIBS += -L$(TOP)/traffic_limiter -ltraffic_limiter 140LIBS += -L$(TOP)/sqlite/.libs -lsqlite3 141endif 142 143ifeq ($(RTCONFIG_GEOIP),y) 144CFLAGS += -I$(TOP)/GeoIP-1.6.2/libGeoIP 145LIBS += -L$(TOP)/GeoIP-1.6.2/libGeoIP/.libs -lGeoIP 146endif 147 148ifeq ($(RTCONFIG_QCA),y) 149LIBS += -lpthread -ldl 150endif 151 152export CFLAGS 153ifeq ($(RTCONFIG_QTN),y) 154vpath %.c sysdeps $(TOP)/libqcsapi_client/qcsapi_rpc_common/client $(TOP)/shared/sysdeps/qtn 155else 156vpath %.c sysdeps 157endif 158 159ifeq ($(RTCONFIG_NOTIFICATION_CENTER),y) 160CFLAGS += -I$(TOP)/sqlite 161CFLAGS += -I$(TOP)/nt_center/lib 162CFLAGS += -DASUSWRT_SDK 163LIBS += -L$(TOP)/nt_center/lib/ -lnt 164LIBS += -L$(TOP)/sqlite/.libs -lsqlite3 165LIBS += -lpthread #Depend on sqlite 166endif 167 168all: httpd #test_apps 169 170#test_apps: apps.c 171# $(CC) -DAPPS $(CFLAGS) $(LIBS) $^ -o $@ 172 173httpd: $(OBJS) 174 @echo " [httpd] CC $@" 175 $(CC) -o $@ $(OBJS) $(LIBS) 176 177 $(SIZECHECK) 178 $(CPTMP) 179 180 181install: all 182 @echo " [httpd] Installing to $(INSTALLDIR)" 183 @install -D httpd $(INSTALLDIR)/usr/sbin/httpd 184 @$(STRIP) $(INSTALLDIR)/usr/sbin/httpd 185 @cd $(INSTALLDIR)/usr/sbin/; ln -sf httpd httpds 186 @chmod 0500 $(INSTALLDIR)/usr/sbin/httpd 187 #@install -m 0755 test_apps $(INSTALLDIR)/usr/sbin 188 #@$(STRIP) $(INSTALLDIR)/usr/sbin/test_apps 189 190clean: 191 rm -f httpd *.o .*.depend test_apps 192 193size: httpd 194 mipsel-uclibc-nm --print-size --size-sort httpd 195 196# handle prebuilt object here 197ifneq ($(wildcard, ./prebuild),) 198ifeq ($(RTCONFIG_HTTPS),y) 199pwenc.o: 200 @-cp -f ./prebuild/pwenc.o . 201endif 202web_hook.o: 203 @-cp -f ./prebuild/web_hook.o . 204endif 205 206%.o: %.c .%.depend 207 @echo " [httpd] CC $@" 208 @$(CC) $(CFLAGS) -o $@ -c $< 209 210.%.depend: %.c 211 @$(CC) $(CFLAGS) -M $< > $@ 212 213-include $(OBJS:%.o=.%.depend) 214