ifeq ($(os),tizen)
CFLAGS_OS = -D_GNU_SOURCE -DHAVE_IPV6 -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DTARGET_OS_LINUX -DTIZEN_EXT -DCONFIG_DISABLE_REUSEPORT -fno-strict-aliasing
+CFLAGS_ASLR = -fPIE
+LINKOPTS_ASLR = -pie
LD = $(CC) -shared
FLEXFLAGS_OS = -l
INSTBASE = $(DESTDIR)/usr
endif
CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG)
+CFLAGS_DAEMON = $(CFLAGS) $(CFLAGS_ASLR)
+
+LINKOPTS_DAEMON = $(LINKOPTS) $(LINKOPTS_ASLR)
#############################################################################
#In Tizen Clients needs to be build after installation of library libdns_sd.so
@echo "Responder daemon done"
$(BUILDDIR)/mdnsd: $(DAEMONOBJS)
- $(CC) -o $@ $+ $(LINKOPTS)
+ $(CC) -o $@ $+ $(LINKOPTS_DAEMON)
@$(STRIP) $@
# libdns_sd target builds the client library
# Implicit rules
$(OBJDIR)/%.c.o: %.c
- $(CC) $(CFLAGS) -c -o $@ $<
+ $(CC) $(CFLAGS_DAEMON) -c -o $@ $<
$(OBJDIR)/%.c.o: $(COREDIR)/%.c
- $(CC) $(CFLAGS) -c -o $@ $<
+ $(CC) $(CFLAGS_DAEMON) -c -o $@ $<
$(OBJDIR)/%.c.o: $(SHAREDDIR)/%.c
- $(CC) $(CFLAGS) -c -o $@ $<
+ $(CC) $(CFLAGS_DAEMON) -c -o $@ $<
$(OBJDIR)/%.c.threadsafe.o: %.c
- $(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
+ $(CC) $(CFLAGS_DAEMON) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
$(OBJDIR)/%.c.threadsafe.o: $(SHAREDDIR)/%.c
- $(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
+ $(CC) $(CFLAGS_DAEMON) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
$(OBJDIR)/%.c.so.o: %.c
$(CC) $(CFLAGS) -c -fPIC -o $@ $<
$(OBJDIR)/%.y.o: $(SHAREDDIR)/%.y
$(BISON) -o $(OBJDIR)/$*.c -d $<
- $(CC) $(CFLAGS) -c -o $@ $(OBJDIR)/$*.c
+ $(CC) $(CFLAGS_DAEMON) -c -o $@ $(OBJDIR)/$*.c
$(OBJDIR)/%.l.o: $(SHAREDDIR)/%.l
$(FLEX) $(FLEXFLAGS_OS) -i -o$(OBJDIR)/$*.l.c $<
- $(CC) $(CFLAGS) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c
+ $(CC) $(CFLAGS_DAEMON) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c