forked from shinnytech/open-trade-gateway
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
33 lines (25 loc) · 879 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
NAME := open-trade-gateway
CXX_SRCS := $(wildcard src/*.cpp src/ctp/*.cpp src/sim/*.cpp)
CXX_OBJS := $(patsubst src/%,obj/%,$(CXX_SRCS:.cpp=.o))
CXX_DEPS := $(CXX_OBJS:%.o=%.d)
CXXFLAGS += -std=c++17 -pthread -g -O2 -flto -Icontrib/include/ -Isrc/
LDFLAGS += -Lcontrib/lib
LDLIBS += -lssl -lcrypto -lthosttraderapi -lcurl -lboost_system -lstdc++fs -lrt
.PHONY: all clean install
all: bin/$(NAME)
bin/$(NAME): $(CXX_OBJS)
@mkdir -p $(@D)
$(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $^ $(LDLIBS)
obj/%.o: src/%.cpp
@mkdir -p $(@D)
$(CXX) -o $@ -MMD -MP $(CPPFLAGS) $(CXXFLAGS) -c $<
-include $(CXX_DEPS)
clean:
@$(RM) -rf bin obj
install: all
install -d /etc/$(NAME)
install -m 777 -d /var/local/lib/$(NAME)
install -m 777 -d /var/log/$(NAME)
install -m 755 bin/$(NAME) /usr/local/bin/
install -m 755 contrib/lib/*.so /usr/local/lib/
install -m 644 conf/* /etc/$(NAME)/