summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile21
1 files changed, 14 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 84ead83..e44d511 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,19 @@
+.POSIX:
SHELL = /bin/sh
-CXXFLAGS = -g -std=c++14 -Wall -Wextra -pedantic -static-libstdc++
-
-all: sdn
-%: %.cpp CMakeLists.txt
- $(CXX) $(CXXFLAGS) $< -o $@ `pkg-config --libs --cflags ncursesw` -lacl \
- `sed -ne 's/^project (\([^ )]*\).*/-DPROJECT_NAME="\1"/p' \
+CXXFLAGS = -g -std=c++14 -Wall -Wextra -pedantic
+CPPFLAGS = `sed -ne 's/^project (\([^ )]*\).*/-DPROJECT_NAME="\1"/p' \
-e 's/^set (version \([^ )]*\).*/-DPROJECT_VERSION="\1"/p' CMakeLists.txt`
+
+sdn: sdn.cpp CMakeLists.txt
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $< -o sdn \
+ -lacl `pkg-config --libs --cflags ncursesw`
+static: sdn.cpp CMakeLists.txt
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $< -o sdn \
+ -static-libstdc++ \
+ -Wl,--start-group,-Bstatic \
+ -lacl `pkg-config --static --libs --cflags ncursesw` \
+ -Wl,--end-group,-Bdynamic
clean:
rm -f sdn
-.PHONY: all clean
+.PHONY: static clean