i2pd-tools/Makefile

78 lines
1.7 KiB
Makefile
Raw Normal View History

I2PD_PATH = i2pd
2017-04-20 20:26:10 +02:00
LIBI2PD_PATH = $(I2PD_PATH)/libi2pd
LIBI2PD_CLIENT_PATH = $(I2PD_PATH)/libi2pd_client
2016-09-16 17:28:01 +02:00
CXX = g++
2017-08-17 09:50:44 +02:00
FLAGS = -Wall -std=c++11 -Wno-misleading-indentation
ifneq ($(UNAME),Darwin && $(UNAME),Linux)
FLAGS += -Os -D_MT -DWIN32 -D_WINDOWS -DWIN32_LEAN_AND_MEAN
BOOST_SUFFIX = -mt
else
FLAGS += -g
endif
2017-04-20 20:26:10 +02:00
INCFLAGS = -I$(LIBI2PD_PATH) -I$(LIBI2PD_CLIENT_PATH) -I$(I2PD_PATH)
2017-08-17 09:50:44 +02:00
CXXFLAGS = $(FLAGS)
2017-04-20 20:26:10 +02:00
LDFLAGS = -Wl,-rpath,/usr/local/lib
2017-08-17 09:50:44 +02:00
LIBS = $(I2PD_PATH)/libi2pd.a -lboost_system$(BOOST_SUFFIX) -lboost_date_time$(BOOST_SUFFIX) -lboost_filesystem$(BOOST_SUFFIX) -lboost_program_options$(BOOST_SUFFIX) -lssl -lcrypto -lpthread -lz
ifeq ($(UNAME),Darwin || $(UNAME),Linux)
LIBS += -lrt
else
LIBS += -lws2_32 -lwsock32 -lstdc++ -liphlpapi
endif
2016-09-16 17:28:01 +02:00
SOURCES = $(wildcard *.cpp)
OBJECTS = $(SOURCES:.cpp=.o)
I2PD_LIB = libi2pd.a
2017-08-07 19:50:35 +02:00
all: keygen keyinfo famtool routerinfo regaddr vain
2016-11-25 15:55:22 +01:00
routerinfo: $(OBJECTS)
$(CXX) -o routerinfo routerinfo.o $(LDFLAGS) $(LIBS)
2016-09-16 17:28:01 +02:00
keygen: $(OBJECTS)
$(CXX) -o keygen keygen.o $(LDFLAGS) $(LIBS)
keyinfo: $(OBJECTS)
$(CXX) -o keyinfo keyinfo.o $(LDFLAGS) $(LIBS)
2016-10-24 19:19:33 +02:00
famtool: $(OBJECTS)
$(CXX) -o famtool famtool.o $(LDFLAGS) $(LIBS)
2017-02-25 04:23:48 +01:00
regaddr: $(OBJECTS)
$(CXX) -o regaddr regaddr.o $(LDFLAGS) $(LIBS)
2017-08-07 19:50:35 +02:00
vain: $(OBJECTS)
2017-08-14 20:29:32 +02:00
$(CXX) -o vain vanitygen.o $(LDFLAGS) -mavx $(LIBS)
2017-08-07 19:50:35 +02:00
$(OBJECTS): libi2pd.a
2016-09-16 17:28:01 +02:00
.SUFFIXES:
.SUFFIXES: .c .cc .C .cpp .o
$(I2PD_LIB):
$(MAKE) -C $(I2PD_PATH) mk_obj_dir $(I2PD_LIB)
%.o: %.cpp libi2pd.a
2017-08-17 09:50:44 +02:00
$(CXX) -o $@ -c $(CXXFLAGS) $(INCFLAGS) $<
2016-09-16 17:28:01 +02:00
count:
wc *.c *.cc *.C *.cpp *.h *.hpp
clean-i2pd:
$(MAKE) -C $(I2PD_PATH) clean
clean-obj:
rm -f $(OBJECTS)
clean-bin:
2017-04-20 20:26:10 +02:00
rm -f keyinfo keygen famtool regaddr routerinfo
clean: clean-i2pd clean-obj clean-bin
2016-09-16 17:28:01 +02:00
.PHONY: all
.PHONY: count
.PHONY: clean