--- mDNSPosix/Makefile.orig 2016-04-24 15:07:24 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 @@ -121,9 +121,9 @@ else ifeq ($(os),freebsd) # If not already defined, set LOCALBASE to /usr/local -LOCALBASE?=/usr/local -INSTBASE=$(LOCALBASE) -CFLAGS_OS = -DHAVE_IPV6 +LOCALBASE ?= /usr/local +INSTBASE ?= $(DESTDIR)$(LOCALBASE) +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: @@ -185,12 +185,7 @@ endif endif -# If directory /usr/share/man exists, then we install man pages into that, else /usr/man -ifeq ($(wildcard /usr/share/man), /usr/share/man) -MANPATH := /usr/share/man -else -MANPATH := /usr/man -endif +MANPATH := $(DESTDIR)$(MAN_PATH) # If directories /etc/init.d/rc*.d exist, then we install into that (Suse) ifeq ($(wildcard /etc/init.d/rc2.d/), /etc/init.d/rc2.d/) @@ -219,7 +219,7 @@ CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS) $ all: setup Daemon libdns_sd Clients SAClient SAResponder SAProxyResponder Identify NetMonitor $(OPTIONALTARG) -install: setup InstalledStartup InstalledDaemon InstalledLib InstalledManPages InstalledClients $(OPTINSTALL) +install: setup InstalledDaemon InstalledLib InstalledManPages InstalledClients $(OPTINSTALL) # 'setup' sets up the build directory structure the way we want setup: @@ -259,13 +259,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 @@ -273,7 +273,7 @@ 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) $@ ############################################################################# @@ -298,14 +298,12 @@ InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNA @echo $+ " installed" # Note: If daemon already installed, we make sure it's stopped before overwriting it -$(INSTBASE)/sbin/mdnsd: $(BUILDDIR)/mdnsd $(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME) - @if test -x $@; then $(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME) stop; fi +$(INSTBASE)/sbin/mdnsd: $(BUILDDIR)/mdnsd $(CP) $< $@ - @$(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME) start $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX).$(LIBVERS): $(BUILDDIR)/libdns_sd.$(LDSUFFIX) $(CP) $< $@ - $(LN) $@ $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX) + $(LN) $(notdir $@) $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX) ifdef LDCONFIG # -m means 'merge into existing database', -R means 'rescan directories' $(LDCONFIG) -mR @@ -338,7 +336,7 @@ $(MANPATH)/man8/%.8: %.8 cp $< $@ chmod 444 $@ -$(MANPATH)/man8/mdnsd.8: $(SHAREDDIR)/mDNSResponder.8 +$(MANPATH)/man8/mdnsd.8: $(SHAREDDIR)/mDNSResponderPosix.8 cp $< $@ chmod 444 $@ @@ -491,6 +489,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