-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathMakefile
39 lines (28 loc) · 851 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
prefix = /usr/local
all: bin bin/libuuidxx.so
@echo
@echo "Build completed successfully!"
@echo "Don't forget to run \`make test\` to ensure correct functionality prior to installing with \`make install\`"
test: bin/test
@echo
bin/test
@echo
@echo "Tests passed successfully!"
clean:
rm -f *.o
rm -rf bin
install: bin/libuuidxx.so bin/libuuidxx.a
cp bin/libuuidxx.so bin/libuuidxx.a $(prefix)/lib/
uninstall:
rm -f $(prefix)/lib/libuuidxx.so $(prefix)/lib/libuuidxx.a
bin:
mkdir bin
uuidxx.o: uuidxx.cpp uuidxx.h
$(CXX) $(CXXFLAGS) -std=c++11 -fPIC ./uuidxx.cpp -c -o uuidxx.o
bin/libuuidxx.so: uuidxx.o
$(CXX) -shared uuidxx.o -o bin/libuuidxx.so
bin/libuuidxx.a: uuidxx.o
ar rvs bin/libuuidxx.a uuidxx.o
bin/test: bin/libuuidxx.so
$(CXX) $(CXXFLAGS) -std=c++11 bin/libuuidxx.so tests/main.cpp -o bin/test
.PHONY: all test