summaryrefslogtreecommitdiff
path: root/make-linux.mk
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2013-12-03 14:11:43 -0800
committerAdam Ierymenko <adam.ierymenko@gmail.com>2013-12-03 14:11:43 -0800
commit66cff2e98d5eb3aac96f586f2fa882b803dbebd0 (patch)
tree47b77fe8645653decb21acd83999d5f9cb744a49 /make-linux.mk
parent21339843186a3aecd5f9e06fae12a5b255dfbc12 (diff)
downloadinfinitytier-66cff2e98d5eb3aac96f586f2fa882b803dbebd0.tar.gz
infinitytier-66cff2e98d5eb3aac96f586f2fa882b803dbebd0.zip
Create common Makefile that automatically loads make rules on a per-OS basis.
Diffstat (limited to 'make-linux.mk')
-rw-r--r--make-linux.mk48
1 files changed, 48 insertions, 0 deletions
diff --git a/make-linux.mk b/make-linux.mk
new file mode 100644
index 00000000..a432d912
--- /dev/null
+++ b/make-linux.mk
@@ -0,0 +1,48 @@
+CC=gcc
+CXX=g++
+
+INCLUDES=
+DEFS=
+LIBS=
+
+# Uncomment for a release optimized build
+CFLAGS=-Wall -O3 -fno-unroll-loops -fvisibility=hidden -fstack-protector -pthread $(INCLUDES) -DNDEBUG $(DEFS)
+STRIP=strip --strip-all
+
+# Uncomment for a debug build
+#CFLAGS=-Wall -g -pthread $(INCLUDES) -DZT_TRACE $(DEFS)
+#STRIP=echo
+
+# Uncomment for gprof profile build
+#CFLAGS=-Wall -g -pg -pthread $(INCLUDES) $(DEFS)
+#STRIP=echo
+
+CXXFLAGS=$(CFLAGS) -fno-rtti
+
+include objects.mk
+
+all: one
+
+one: $(OBJS)
+ $(CXX) $(CXXFLAGS) -o zerotier-one main.cpp $(OBJS) $(LIBS)
+ $(STRIP) zerotier-one
+ ln -sf zerotier-one zerotier-cli
+
+selftest: $(OBJS)
+ $(CXX) $(CXXFLAGS) -o zerotier-selftest selftest.cpp $(OBJS) $(LIBS)
+ $(STRIP) zerotier-selftest
+
+idtool: $(OBJS)
+ $(CXX) $(CXXFLAGS) -o zerotier-idtool idtool.cpp $(OBJS) $(LIBS)
+ $(STRIP) zerotier-idtool
+
+file2lz4c: ext/lz4/lz4hc.o FORCE
+ $(CXX) $(CXXFLAGS) -o file2lz4c file2lz4c.cpp node/Utils.cpp node/Salsa20.cpp ext/lz4/lz4hc.o
+
+installer: one FORCE
+ ./buildinstaller.sh
+
+clean:
+ rm -rf $(OBJS) file2lz4c zerotier-* zt1-*-install installer-build build-ZeroTierUI-*
+
+FORCE: