CC = cc
CFLAGS_COMMON = -g -I../mDNSCore -I. -DMDNS_DEBUGMSGS=2
ifeq ($(os),solaris)
CFLAGS_OS = -DNOT_HAVE_DAEMON -DNOT_HAVE_SA_LEN -D_XPG4_2 -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME -lsocket -lnsl
else
ifeq ($(os),linux)
CFLAGS_OS = -DNOT_HAVE_SA_LEN -W -Wall
else
ifeq ($(os),netbsd)
CFLAGS_OS =
else
ifeq ($(os),freebsd)
CFLAGS_OS =
else
ifeq ($(os),openbsd)
CFLAGS_OS = -DHAVE_BROKEN_RECVDSTADDR
else
ifeq ($(os),jaguar)
CFLAGS_OS = -DHAVE_IPV6 -W -Wall -no-cpp-precomp -DNOT_HAVE_SOCKLEN_T
else
ifeq ($(os),panther)
CFLAGS_OS = -DHAVE_IPV6 -W -Wall -no-cpp-precomp
else
cantbuild:
@echo "Error: Must specify target OS on command-line, e.g. \"make os=panther\" or \"make os=jaguar\" or \"make os=linux\""
endif
endif
endif
endif
endif
endif
endif
CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS)
COMMONOBJ = objects/mDNSPosix.c.o objects/mDNSUNP.c.o objects/ExampleClientApp.c.o
HEADERS = Makefile mDNSUNP.h mDNSPosix.h \
../mDNSCore/mDNSDebug.h \
../mDNSCore/mDNSClientAPI.h \
../mDNSCore/mDNSPlatformFunctions.h
all: setup Client Responder ProxyResponder Identify NetMonitor
setup:
if test ! -d objects ; then mkdir objects ; fi
if test ! -d build ; then mkdir build ; fi
Client: setup build/mDNSClientPosix
@echo "Client done"
Responder: setup build/mDNSResponderPosix
@echo "Responder done"
ProxyResponder: setup build/mDNSProxyResponderPosix
@echo "ProxyResponder done"
Identify: setup build/mDNSIdentify
@echo "Identify done"
NetMonitor: setup build/mDNSNetMonitor
@echo "NetMonitor done"
build/mDNSClientPosix: $(COMMONOBJ) objects/mDNS.c.o objects/Client.c.o
$(CC) $+ -o $@
build/mDNSResponderPosix: $(COMMONOBJ) objects/mDNS.c.o objects/Responder.c.o
$(CC) $+ -o $@
build/mDNSProxyResponderPosix: $(COMMONOBJ) objects/mDNS.c.o objects/ProxyResponder.c.o
$(CC) $+ -o $@
build/mDNSIdentify: $(COMMONOBJ) objects/Identify.c.o
$(CC) $+ -o $@
build/mDNSNetMonitor: $(COMMONOBJ) objects/NetMonitor.c.o
$(CC) $+ -o $@
objects/%.c.o: %.c ../mDNSCore/mDNS.c $(HEADERS)
$(CC) -c $(CFLAGS) $< -o $@
objects/mDNS.c.o: ../mDNSCore/mDNS.c $(HEADERS)
$(CC) -c $(CFLAGS) $< -o $@
clean:
-rm -rf objects build .gdb_history