summaryrefslogtreecommitdiff
path: root/tap-mac/tuntap/src/tap/Makefile
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2013-10-28 09:33:32 -0400
committerAdam Ierymenko <adam.ierymenko@gmail.com>2013-10-28 09:33:32 -0400
commit148619f0ba836ff894185663633556dd04700a60 (patch)
tree710ecbbb7ebc6a2b19d910e10a2ccd472b86c579 /tap-mac/tuntap/src/tap/Makefile
parent17778a36badcb9fdb9b3292e8ec32be3b836c811 (diff)
downloadinfinitytier-148619f0ba836ff894185663633556dd04700a60.tar.gz
infinitytier-148619f0ba836ff894185663633556dd04700a60.zip
Make tap build on OSX 10.9, though not in a way that is easy for users. Instead package binaries.
Diffstat (limited to 'tap-mac/tuntap/src/tap/Makefile')
-rw-r--r--tap-mac/tuntap/src/tap/Makefile60
1 files changed, 60 insertions, 0 deletions
diff --git a/tap-mac/tuntap/src/tap/Makefile b/tap-mac/tuntap/src/tap/Makefile
new file mode 100644
index 00000000..a69b967e
--- /dev/null
+++ b/tap-mac/tuntap/src/tap/Makefile
@@ -0,0 +1,60 @@
+#
+# ethertap driver for MacOSX
+#
+# Makefile
+#
+# (c) 2004, 2005, 2006, 2007, 2008 Mattias Nissler
+#
+
+OBJS = ../tuntap.o ../tuntap_mgr.o ../lock.o ../mem.o kmod.o tap.o
+KMOD_BIN = tap
+BUNDLE_DIR = ../..
+BUNDLE_NAME = tap.kext
+
+TAP_KEXT_VERSION = $(TUNTAP_VERSION)
+
+BUNDLE_REGION = English
+BUNDLE_IDENTIFIER = com.zerotier.tap
+BUNDLE_SIGNATURE = ????
+BUNDLE_PACKAGETYPE = KEXT
+BUNDLE_VERSION = $(TAP_KEXT_VERSION)
+
+INCLUDE = -I.. -I/System/Library/Frameworks/Kernel.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Kernel.framework/Headers
+CFLAGS = -Wall -mkernel -force_cpusubtype_ALL \
+ -fno-builtin -fno-stack-protector -arch i386 -arch x86_64 \
+ -DKERNEL -D__APPLE__ -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"$(TUNTAP_VERSION)\" \
+ -DTAP_KEXT_VERSION=\"$(TAP_KEXT_VERSION)\"
+CCFLAGS = $(CFLAGS)
+LDFLAGS = -Wall -mkernel -nostdlib -r -lcc_kext -arch i386 -arch x86_64 -Xlinker -kext
+
+#CCP = g++
+CCP = $(HOME)/Code/llvm-g++-Xcode4.6.2/bin/llvm-g++
+
+CC = gcc
+
+all: $(KMOD_BIN) bundle
+
+.c.o:
+ $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@
+.cc.o:
+ $(CCP) $(CCFLAGS) $(INCLUDE) -c $< -o $@
+
+$(KMOD_BIN): $(OBJS)
+ $(CCP) $(LDFLAGS) -o $(KMOD_BIN) $(OBJS)
+
+bundle: $(KMOD_BIN)
+ rm -rf $(BUNDLE_DIR)/$(BUNDLE_NAME)
+ mkdir -p $(BUNDLE_DIR)/$(BUNDLE_NAME)/Contents/MacOS
+ cp $(KMOD_BIN) $(BUNDLE_DIR)/$(BUNDLE_NAME)/Contents/MacOS
+ sed -e "s/@@CFBUNDLEEXECUTABLE@@/$(KMOD_BIN)/" \
+ -e "s/@@CFBUNDLEDEVELOPMENTREGION@@/$(BUNDLE_REGION)/" \
+ -e "s/@@CFBUNDLEIDENTIFIER@@/$(BUNDLE_IDENTIFIER)/" \
+ -e "s/@@CFBUNDLESIGNATURE@@/$(BUNDLE_SIGNATURE)/" \
+ -e "s/@@CFBUNDLEPACKAGETYPE@@/$(BUNDLE_PACKAGETYPE)/" \
+ -e "s/@@CFBUNDLEVERSION@@/$(BUNDLE_VERSION)/" \
+ Info.plist > $(BUNDLE_DIR)/$(BUNDLE_NAME)/Contents/Info.plist
+
+clean:
+ -rm -f $(OBJS) $(KMOD_BIN)
+ -rm -rf $(BUNDLE_DIR)/$(BUNDLE_NAME)
+