-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
31 lines (23 loc) · 915 Bytes
/
Copy pathMakefile
File metadata and controls
31 lines (23 loc) · 915 Bytes
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
# example compile without fuse: make WITHOUT_FUSE=1
SRC := $(shell find src -name '*.cpp')
OBJ := $(patsubst src/%.cpp,obj/%.o,$(SRC))
CPPFLAGS := -ggdb3 -std=c++11 -Isrc -Wall -pedantic -MMD -DBOOST_ALL_DYN_LINK
LDFLAGS := -rdynamic -pthread -lboost_log -lboost_program_options -lboost_thread -lboost_system -lboost_filesystem -lulockmgr
ifndef WITHOUT_FUSE
CPPFLAGS := $(CPPFLAGS) -DHAS_FUSE $(shell pkg-config fuse --cflags) -DFUSE_USE_VERSION=29
LDFLAGS := $(LDFLAGS) $(shell pkg-config fuse --libs)
endif
TARGET := springy
$(TARGET): setup $(OBJ) obj/mongose.o
$(CXX) $(CPPFLAGS) obj/mongoose.o $(OBJ) $(LDFLAGS) -o $@
obj/%.o: src/%.cpp
$(CXX) $(CPPFLAGS) -nostdlib $(CXXFLAGS) -o $@ -c $<
obj/mongose.o:
$(CC) -o obj/mongoose.o -c src/mongoose.c
setup:
mkdir -p obj
mkdir -p obj/volume
mkdir -p obj/fsops
clean:
find obj -name "*.o" -exec rm {} \;
find obj -name "*.d" -exec rm {} \;