CC := $(CROSS_COMPILE)gcc
DNSMASQ_SRCDIR = $(DNSMASQ_APPS_DIR)/src

OBJS = cache.o rfc1035.o util.o option.o forward.o network.o \
       dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \
       helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o \
       dhcp-common.o outpacket.o radv.o slaac.o

BOBJS := $(addprefix ${DNSMASQ_APPS_BLDDIR}/,${OBJS})
APPL := $(DNSMASQ_APPS_BLDDIR)/$(DNSMASQ_APPS_NAME)
# -DNO_DHCP -DNO_SCRIPT
COPTS := -D__linux__ -DNO_TFTP -DNO_DHCP6
CFLAGS := $(COPTS) -fpic -g -Os -Wall
CFLAGS += -isystem $(TOOLCHAIN_USRINCDIR)
CFLAGS += -DHAVE_BROKEN_RTC
CFLAGS += $(DNSMASQ_APPS_CFLAGS)
LDFLAGS := -Wl,-allow-shlib-undefined -lpthread

all: $(APPL)

install: all
	@install -D $(APPL) $(ROOTFS_DIR)/usr/sbin/dnsmasq
	@$(RSTRIP) $(ROOTFS_DIR)/usr/sbin/dnsmasq

$(APPL): $(BOBJS)
	@$(CC) $(LDFLAGS) -o $@ $(BOBJS)

$(DNSMASQ_APPS_BLDDIR)/%.o: $(DNSMASQ_SRCDIR)/%.c
	@echo "Compiling $<"
	@$(CC) $(CFLAGS) -c $< -o $@

clean:
	@rm -f $(BOBJS:.o=.d)
	@rm -f $(BOBJS)
	@rm -f $(APPL) $(ROOTFS_DIR)/usr/sbin/dnsmasq

ifeq (,$(findstring clean,$(MAKECMDGOALS)))

-include $(addprefix ${DNSMASQ_APPS_BLDDIR}/,$(addsuffix .d,$(basename $(OBJS))))

$(DNSMASQ_APPS_BLDDIR)/%.d: $(DNSMASQ_SRCDIR)/%.c
	-@if [ ! -d $(@D)  ]; then mkdir -p $(@D); fi
	@echo "Generating dependency file for $<"; \
	$(CC) -M $(CFLAGS) $< >$@.tmp; \
	echo "$@ \\" > $@; \
	sed 's,\($*\)\.o[ :]*,$$(DNSMASQ_APPS_BLDDIR)\/\1.o: ,g' < $@.tmp >> $@; \
	rm -f $@.tmp
endif
