ifndef TURNKEY_ROOTDIR
TURNKEY_ROOTDIR = $(shell pwd)/../..
TURNKEY_BUILD_USER = y
include $(TURNKEY_ROOTDIR)/make.path.mk
include $(TURNKEY_ROOTDIR)/make.config.mk
include $(TURNKEY_ROOTDIR)/make.root.linux.mk
endif

EXEC = dhcpcd
OBJS = arp.o buildmsg.o cache.o client.o dhcpcd.o dhcpconfig.o peekfd.o signals.o udpipgen.o

CFLAGS += -I$(SYS_LIBINCLUDE) -I$(SYS_PLATINCLUDE) -I$(SYS_LXINCLUDE)
CFLAGS += -D_BSD_SOURCE=1
CFLAGS += -fpie -pie # ASLR (Address Space Layout Randomization)
CFLAGS += -fstack-protector-all # Stack Canaries
ifeq ($(CONFIG_LINUXDIR), linux-3.18.24.x)
CFLAGS += -DCONFIG_SYS_KERNEL_LINUX_3_18_24_X
endif
LDFLAGS += -Wl,-z,relro,-z,now
LIB     += -lsal -lfds -lcfg -lcfgtbl -lcmd -lclicmd -lglue -lvty -lcrypt -L$(SYS_INSTDIR)
ifdef CONFIG_SYS_LIB_CUSTOM
LIB     += -lcustom
endif
ifdef CONFIG_SYS_LIB_TACPLUS
LIB     += -ltacplus
endif
ifdef CONFIG_SYS_LIB_RADIUS
LIB     += -lradius
endif
LIB += -lssl
LIB += -lcrypto

all: $(EXEC)

$(EXEC): $(OBJS)
	$(CC) $(LDFLAGS) $(LIB) -o $@ $(OBJS) $(LDLIBS)
	$(SYSINSTALL) $@

romfs:
	$(SYSROMFSINST) /bin/$(EXEC)

clean:
	-rm -f $(EXEC) *.elf *.gdb *.o

