--- mDNSPosix/Makefile.orig 2015-03-04 03:09:18 UTC +++ mDNSPosix/Makefile @@ -54,8 +54,8 @@ COREDIR = ../mDNSCore SHAREDDIR ?= ../mDNSShared JDK = /usr/jdk -CC = @cc -BISON = @bison +CC ?= @cc +BISON = @yacc FLEX = @flex ST = @strip LD = ld -shared @@ -123,7 +123,7 @@ ifeq ($(os),freebsd) # If not already defined, set LOCALBASE to /usr/local LOCALBASE?=/usr/local INSTBASE=$(LOCALBASE) -CFLAGS_OS = -DHAVE_IPV6 +CFLAGS_OS = -DHAVE_IPV6 -DTARGET_OS_FREEBSD # FreeBSD 4 requires threaded code to be compiled and linked using the "-pthread" option, # and requires that the "-lpthread" link option NOT be used # This appies only to FreeBSD -- "man cc" on FreeBSD says: @@ -217,7 +217,7 @@ CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS) $ all: setup Daemon libdns_sd Clients SAClient SAResponder SAProxyResponder Identify NetMonitor dnsextd $(OPTIONALTARG) -install: setup InstalledDaemon InstalledStartup InstalledLib InstalledManPages InstalledClients $(OPTINSTALL) +install: setup InstalledDaemon InstalledLib InstalledManPages InstalledClients $(OPTINSTALL) # 'setup' sets up the build directory structure the way we want setup: @@ -257,13 +257,13 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$ CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS) - @$(LD) $(LINKOPTS) -o $@ $+ + @$(CC) $(LINKOPTS) -shared -Wl,-soname=libdns_sd.$(LDSUFFIX).$(LIBVERS) -o $@ $+ @$(STRIP) $@ -Clients: setup libdns_sd ../Clients/build/dns-sd +Clients: ../Clients/build/dns-sd @echo "Clients done" -../Clients/build/dns-sd: +../Clients/build/dns-sd: setup libdns_sd @$(MAKE) -C ../Clients # nss_mdns target builds the Name Service Switch module @@ -271,49 +271,49 @@ nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE @echo "Name Service Switch module done" $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o - @$(LD) $(LINKOPTS) -o $@ $+ + @$(CC) $(LINKOPTS) -shared -Wl,-soname=$(NSSLINKNAME) -o $@ $+ @$(STRIP) $@ ############################################################################# # The Install targets place built stuff in their proper places -InstalledDaemon: $(INSTBASE)/sbin/mdnsd +InstalledDaemon: $(DESTDIR)$(INSTBASE)/sbin/mdnsd @echo $+ " installed" -InstalledLib: $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX).$(LIBVERS) $(INSTBASE)/include/dns_sd.h +InstalledLib: $(DESTDIR)$(INSTBASE)/lib/libdns_sd.$(LDSUFFIX).$(LIBVERS) $(DESTDIR)$(INSTBASE)/include/dns_sd.h @echo $+ " installed" -InstalledStartup: $(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME) +InstalledStartup: $(DESTDIR)$(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME) @echo $+ " installed" -InstalledManPages: $(MANPATH)/man8/mdnsd.8 +InstalledManPages: $(DESTDIR)$(MANPATH)/man8/mdnsd.8 @echo $+ " installed" -InstalledClients: $(INSTBASE)/bin/dns-sd +InstalledClients: $(DESTDIR)$(INSTBASE)/bin/dns-sd @echo $+ " installed" -InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNAME) /etc/nss_mdns.conf $(MANPATH)/man5/nss_mdns.conf.5 $(MANPATH)/man8/libnss_mdns.8 +InstalledNSS: $(DESTDIR)$(NSSINSTPATH)/$(NSSLINKNAME) /etc/nss_mdns.conf $(DESTDIR)$(MANPATH)/man5/nss_mdns.conf.5 $(DESTDIR)$(MANPATH)/man8/libnss_mdns.8 @echo $+ " installed" # Note: If daemon already installed, we make sure it's stopped before overwriting it -$(INSTBASE)/sbin/mdnsd: $(BUILDDIR)/mdnsd +$(DESTDIR)$(INSTBASE)/sbin/mdnsd: $(BUILDDIR)/mdnsd @if test -x $@; then $(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME) stop; fi $(CP) $< $@ -$(INSTBASE)/lib/libdns_sd.$(LDSUFFIX).$(LIBVERS): $(BUILDDIR)/libdns_sd.$(LDSUFFIX) +$(DESTDIR)$(INSTBASE)/lib/libdns_sd.$(LDSUFFIX).$(LIBVERS): $(BUILDDIR)/libdns_sd.$(LDSUFFIX) $(CP) $< $@ - $(LN) $@ $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX) + $(LN) libdns_sd.$(LDSUFFIX).$(LIBVERS) $(DESTDIR)$(INSTBASE)/lib/libdns_sd.$(LDSUFFIX) ifdef LDCONFIG # -m means 'merge into existing database', -R means 'rescan directories' $(LDCONFIG) -mR endif -$(INSTBASE)/include/dns_sd.h: $(SHAREDDIR)/dns_sd.h +$(DESTDIR)$(INSTBASE)/include/dns_sd.h: $(SHAREDDIR)/dns_sd.h $(CP) $< $@ # We make this target dependent on $(INSTBASE)/sbin/mdnsd because we need to ensure # that the daemon is installed *before* we try to execute the command to start it. -$(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME): mdnsd.sh $(STARTUPSCRIPTDIR) $(INSTBASE)/sbin/mdnsd +$(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME): mdnsd.sh $(STARTUPSCRIPTDIR) $(DESTDIR)$(INSTBASE)/sbin/mdnsd $(CP) $< $@ chmod ugo+x $@ $@ start @@ -330,26 +330,26 @@ else endif endif -$(MANPATH)/man5/%.5: %.5 +$(DESTDIR)$(MANPATH)/man5/%.5: %.5 cp $< $@ chmod 444 $@ -$(MANPATH)/man8/%.8: %.8 +$(DESTDIR)$(MANPATH)/man8/%.8: %.8 cp $< $@ chmod 444 $@ -$(MANPATH)/man8/mdnsd.8: $(SHAREDDIR)/mDNSResponder.8 +$(DESTDIR)$(MANPATH)/man8/mdnsd.8: $(SHAREDDIR)/mDNSResponderPosix.8 cp $< $@ chmod 444 $@ -$(INSTBASE)/bin/dns-sd: ../Clients/build/dns-sd +$(DESTDIR)$(INSTBASE)/bin/dns-sd: ../Clients/build/dns-sd $(CP) $< $@ -$(NSSINSTPATH)/$(NSSLINKNAME): $(NSSINSTPATH)/$(NSSLIBFILE) +$(DESTDIR)$(NSSINSTPATH)/$(NSSLINKNAME): $(NSSINSTPATH)/$(NSSLIBFILE) $(LN) $< $@ ldconfig -$(NSSINSTPATH)/$(NSSLIBFILE): $(BUILDDIR)/$(NSSLIBFILE) +$(DESTDIR)$(NSSINSTPATH)/$(NSSLIBFILE): $(BUILDDIR)/$(NSSLIBFILE) $(CP) $< $@ chmod 444 $@ @@ -491,6 +491,8 @@ $(OBJDIR)/NetMonitor.c.o: $(C $(BUILDDIR)/dnsextd: $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o $(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD) +$(OBJDIR)/dnsextd_lexer.l.o: $(OBJDIR)/dnsextd_parser.y.o + ############################################################################# # Implicit rules