summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile26
-rw-r--r--cppbuild.cc2
2 files changed, 17 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index b3f91cb..c8ce5b4 100644
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,20 @@
-all: libcppbuild.a cppbuild
+all: libcppbuild.a
-libcppbuild.a: libcppbuild.cc libcppbuild.h task_cc.cc task_cc.h task_ld.cc task_ld.h task.h execute.cc execute.h
- g++ -g -std=c++17 libcppbuild.cc -c -o libcppbuild.o
- g++ -g -std=c++17 task_cc.cc -c -o task_cc.o
- g++ -g -std=c++17 task_ld.cc -c -o task_ld.o
- g++ -g -std=c++17 execute.cc -c -o execute.o
- ar rcs libcppbuild.a libcppbuild.o task_cc.o task_ld.o execute.o
+SRC = \
+ libcppbuild.cc \
+ task_cc.cc \
+ task_ld.cc \
+ execute.cc \
-cppbuild: cppbuild.cc libcppbuild.h libcppbuild.a
- g++ -g -std=c++17 cppbuild.cc libcppbuild.a -pthread -o cppbuild
+OBJ = $(patsubst %.cc,%.o,$(SRC))
+
+CXXFLAGS = -s -O3 -std=c++17
+
+%.o: %.cc
+ g++ $(CXXFLAGS) -c $< -o $@
+
+libcppbuild.a: $(OBJ)
+ ar rcs $@ $(OBJ)
clean:
- rm -f cppbuild libcppbuild.o task_cc.o task_ld.o libcppbuild.a
+ rm -f libcppbuild.a $(OBJ)
diff --git a/cppbuild.cc b/cppbuild.cc
index 3604260..eb8b78e 100644
--- a/cppbuild.cc
+++ b/cppbuild.cc
@@ -2,7 +2,7 @@
if [ "cppbuild" -ot "$0" ]
then
echo "Rebuilding cppbuild"
- g++ -std=c++17 -pthread $0 libcppbuild.a -o cppbuild
+ g++ -s -O3 -std=c++17 -pthread $0 libcppbuild.a -o cppbuild
[ $? != 0 ] && exit 1
fi