include $(APPS_PATH)/.config

CFLAGS += -Wall -W -O2

LIBS = -lputil 
LIBPATH = -L$(APPS_PATH)/cameo/public_util
INCLUDE = -I./ -I$(APPS_PATH)/cameo/public_util

ifeq ($(CONFIG_WEB_404_REDIRECT),y)
LIBS += -lmidware -leutil
LIBPATH += -L$(APPS_PATH)/cameo/data_middleware -L$(APPS_PATH)/cameo/entry_util
INCLUDE += -I$(APPS_PATH)/cameo/data_middleware -I$(APPS_PATH)/cameo/entry_util

ifeq ($(CONFIG_LINUX_NVRAM),y)
LIBS += -lnvram
INCLUDE += -I$(APPS_PATH)/linux_nvram
LIBPATH += -L$(APPS_PATH)/linux_nvram
else

ifeq ($(CONFIG_DATABASE),y)
ifeq ($(CONFIG_SQLITE-3.7.2),y)
LIBS += -lsqlite3
INCLUDE += -I$(APPS_PATH)/sqlite-3.7.2
LIBPATH += -L$(APPS_PATH)/sqlite-3.7.2/.libs
endif

LIBS += -ldbapi
INCLUDE += -I$(APPS_PATH)/cameo/database
LIBPATH += -L$(APPS_PATH)/cameo/database
endif
endif

endif

OBJS = cache.o rfc1035.o util.o option.o forward.o network.o \
       dnsmasq.o netlink.o bpf.o \
       log.o

DEPENDENCE_FILE = ../bld/Makefile

# jimmy removed objects to reduce code size
#OBJS += dbus.o tftp.o

# jimmy added flag

# if want IPv6 support, mark this line
#DISABLE_IPV6 = -DNO_IPV6

ifneq ($(CONFIG_IPV6_SUPPORT),y)
  DISABLE_IPV6 = -DNO_IPV6 
endif

# vincent modified
# Support Multiple PPPOE or not
ifeq ($(CONFIG_MULTIPLE_PPPoE),y)
	MULTIPLE_PPPoE = -DMPPPOE
endif

#DHCP_SUPPORT = -DHAVE_DHCP  #  to reduce code size

ifeq ($(DHCP_SUPPORT),-DHAVE_DHCP)
OBJS += dhcp.o lease.o rfc2131.o isc.o helper.o
endif

ifeq ($(CONFIG_OPENDNS),y)
CFLAGS += -DOPENDNS
endif
# ---------------------------------

.c.o: $(DEPENDENCE_FILE)
# jimmy modified
# vincent modified
#ifeq ($(CONFIG_WEB_404_REDIRECT),y)
	$(CC) $(CFLAGS) $(DHCP_SUPPORT) $(DISABLE_IPV6) $(MULTIPLE_PPPoE) -c $< $(INCLUDE) $(LIBPATH) ${LIBS}
#else
#	$(CC) $(CFLAGS) $(DHCP_SUPPORT) $(DISABLE_IPV6) $(MULTIPLE_PPPoE) -c $<
#endif

#	$(CC) $(CFLAGS) $(COPTS) $(DBUS_MINOR) $(I18N) $(DBUS_CFLAGS) $(SUNOS_VER) $(RPM_OPT_FLAGS) -c $<
# --------------------


dnsmasq : $(DEPENDENCE_FILE) $(OBJS)
# jimmy modified
#ifeq ($(CONFIG_WEB_404_REDIRECT),y)
	$(CC) $(LDFLAGS) -o $@  $(OBJS) $(INCLUDE) $(LIBPATH) ${LIBS}
#else
#	$(CC) $(LDFLAGS) -o $@  $(OBJS) ${LIBS}
#endif	

#	$(CC) $(LDFLAGS) -o $@  $(OBJS) $(DBUS_LIBS) $(SUNOS_LIBS) $(LIBS) 
# -----------------
 
dnsmasq.pot : $(OBJS:.o=.c) dnsmasq.h config.h
	xgettext -d dnsmasq --foreign-user --keyword=_ -o dnsmasq.pot -i $(OBJS:.o=.c)

%.mo : ../po/%.po dnsmasq.pot
	msgmerge -o - ../po/$*.po dnsmasq.pot | msgfmt -o $*.mo -
