1
0
mirror of https://github.com/asamy/ctorrent synced 2025-10-05 23:52:41 +02:00
Files
ctorrent/Makefile
Ahmed Samy 6ec34f2a98 Minor fixes and improvements
Signed-off-by: Ahmed Samy <asamy@protonmail.com>
2017-01-26 03:32:21 +02:00

71 lines
1.6 KiB
Makefile

ifeq ("$(origin D)", "command line")
BTYPE := -O0 -g
else
BTYPE ?= -O3
endif
BIN_DIR = bin
BIN = tc
DEP_DIR = dep
DEPFLAGS = -MT $@ -MMD -MP -MF $(DEP_DIR)/$*.d
CXX ?= $(CROSS_BUILD)g++
CXXFLAGS = -std=c++11 $(DEPFLAGS) $(BTYPE) -Wall -Wextra -Wno-deprecated-declarations \
-Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -I"." -I"D:\boost_1_60_0"
LIBS = -L"D:\boost_1_60_0\stage\lib" -lboost_system -lboost_filesystem -lboost_program_options
ifeq ($(OS),Windows_NT)
LIBS += -lws2_32 -lshlwapi -lMswsock
else
LIBS += -lpthread -lcurses
endif
OBJ_DIR = obj
SRC = bencode/decoder.cpp bencode/encoder.cpp \
ctorrent/tracker.cpp ctorrent/peer.cpp ctorrent/torrentmeta.cpp \
ctorrent/torrentfilemanager.cpp ctorrent/torrent.cpp \
net/server.cpp net/connection.cpp net/inputmessage.cpp net/outputmessage.cpp \
util/auxiliar.cpp \
main.cpp
OBJ = $(SRC:%.cpp=$(OBJ_DIR)/%.o)
DEP = $(SRC:%.cpp=$(DEP_DIR)/%.d)
.PHONY: all clean
.PRECIOUS: $(DEP_DIR)/%.d
all: $(BIN)
clean:
@$(RM) $(OBJ_DIR)/*.o
@$(RM) $(OBJ_DIR)/*/*.o
@$(RM) $(DEP_DIR)/*.d
@$(RM) $(DEP_DIR)/*/*.d
@$(RM) $(BIN)
@echo " Cleaned"
$(BIN): $(DEP_DIR) $(OBJ_DIR) $(OBJ) $(DEP)
@echo " LD $@"
@$(CXX) -o $@ $(OBJ) $(LIBS)
$(OBJ_DIR)/%.o: %.cpp $(DEP_DIR)/%.d
@echo " CXX $<"
@$(CXX) -c $(CXXFLAGS) -o $@ $<
-include $(DEP)
$(DEP_DIR)/%.d: ;
$(DEP_DIR):
@mkdir -p $(DEP_DIR)
@mkdir -p $(DEP_DIR)/bencode
@mkdir -p $(DEP_DIR)/ctorrent
@mkdir -p $(DEP_DIR)/net
@mkdir -p $(DEP_DIR)/util
$(OBJ_DIR):
@mkdir -p $(OBJ_DIR)
@mkdir -p $(OBJ_DIR)/bencode
@mkdir -p $(OBJ_DIR)/ctorrent
@mkdir -p $(OBJ_DIR)/net
@mkdir -p $(OBJ_DIR)/util