-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
35 lines (26 loc) · 905 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
################################################################################
# Rohan data serialization library.
#
# © 2016—2024, Sauron
################################################################################
CC=$(if $(TOOLCHAIN), /usr/bin/$(TOOLCHAIN)-)g++
CXXFLAGS=-Wall -Wextra -O3
LIBRARY=libserialization.so
HEADERS=*.hpp
SOURCES=*.cpp
LIBRARIES=-lstdc++ -lunix++
UNITTEST=unittest
all: $(LIBRARY) $(UNITTEST)
clean:
rm -f $(LIBRARY) $(UNITTEST) temporary.data
install: $(LIBRARY)
install --strip $(LIBRARY) /usr/local/lib64
install -d /usr/include/rohan
install -m 644 *.hpp /usr/include/rohan
test: $(UNITTEST)
./$(UNITTEST)
$(LIBRARY): $(SOURCES) $(HEADERS)
$(CC) $(CXXFLAGS) -shared -fPIC -o $(LIBRARY) $(SOURCES) $(LIBRARIES)
$(UNITTEST): $(SOURCES) $(HEADERS) ut/*
$(CC) $(CXXFLAGS) -o $(UNITTEST) $(SOURCES) ut/* $(LIBRARIES)
.PHONY: all clean install test