|
|
|
# root directory holding homebrew
|
|
|
|
BREWROOT = /usr/local
|
|
|
|
BOOSTROOT = ${BREWROOT}/opt/boost
|
|
|
|
SSLROOT = ${BREWROOT}/opt/openssl@1.1
|
|
|
|
UPNPROOT = ${BREWROOT}/opt/miniupnpc
|
|
|
|
CXXFLAGS = ${CXX_DEBUG} -Wall -std=c++11 -DMAC_OSX -Wno-overloaded-virtual
|
|
|
|
INCFLAGS = -I${SSLROOT}/include -I${BOOSTROOT}/include
|
|
|
|
LDFLAGS = ${LD_DEBUG}
|
|
|
|
|
|
|
|
ifndef TRAVIS
|
|
|
|
CXX = clang++
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(USE_STATIC),yes)
|
|
|
|
LDLIBS = -lz ${SSLROOT}/lib/libcrypto.a ${SSLROOT}/lib/libssl.a ${BOOSTROOT}/lib/libboost_system.a ${BOOSTROOT}/lib/libboost_date_time.a ${BOOSTROOT}/lib/libboost_filesystem.a ${BOOSTROOT}/lib/libboost_program_options.a -lpthread
|
|
|
|
else
|
|
|
|
LDFLAGS += -L${SSLROOT}/lib -L${BOOSTROOT}/lib
|
|
|
|
LDLIBS = -lz -lcrypto -lssl -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(USE_UPNP),yes)
|
|
|
|
LDFLAGS += -ldl
|
|
|
|
CXXFLAGS += -DUSE_UPNP
|
|
|
|
INCFLAGS += -I${UPNPROOT}/include
|
|
|
|
ifeq ($(USE_STATIC),yes)
|
|
|
|
LDLIBS += ${UPNPROOT}/lib/libminiupnpc.a
|
|
|
|
else
|
|
|
|
LDFLAGS += -L${UPNPROOT}/lib
|
|
|
|
LDLIBS += -lminiupnpc
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
# OSX Notes
|
|
|
|
# http://www.hutsby.net/2011/08/macs-with-aes-ni.html
|
|
|
|
# Seems like all recent Mac's have AES-NI, after firmware upgrade 2.2
|
|
|
|
# Found no good way to detect it from command line. TODO: Might be some osx sysinfo magic
|
|
|
|
ifeq ($(USE_AESNI),yes)
|
|
|
|
CXXFLAGS += -maes
|
|
|
|
endif
|
|
|
|
ifeq ($(USE_AVX),1)
|
|
|
|
CXXFLAGS += -mavx
|
|
|
|
endif
|
|
|
|
|
|
|
|
install:
|
|
|
|
install -d ${PREFIX}/bin ${PREFIX}/etc/i2pd ${PREFIX}/share/doc/i2pd ${PREFIX}/share/i2pd ${PREFIX}/share/man/man1 ${PREFIX}/var/lib/i2pd
|
|
|
|
install -m 755 ${I2PD} ${PREFIX}/bin/
|
|
|
|
install -m 644 contrib/i2pd.conf contrib/subscriptions.txt contrib/tunnels.conf ${PREFIX}/etc/i2pd
|
|
|
|
@cp -R contrib/certificates ${PREFIX}/share/i2pd/
|
|
|
|
install -m 644 ChangeLog LICENSE README.md contrib/i2pd.conf contrib/subscriptions.txt contrib/tunnels.conf ${PREFIX}/share/doc/i2pd
|
|
|
|
@gzip debian/i2pd.1 && install debian/i2pd.1.gz ${PREFIX}/share/man/man1
|
|
|
|
@ln -sf ${PREFIX}/share/i2pd/certificates ${PREFIX}/var/lib/i2pd/
|
|
|
|
@ln -sf ${PREFIX}/etc/i2pd/i2pd.conf ${PREFIX}/var/lib/i2pd/i2pd.conf
|
|
|
|
@ln -sf ${PREFIX}/etc/i2pd/subscriptions.txt ${PREFIX}/var/lib/i2pd/subscriptions.txt
|
|
|
|
@ln -sf ${PREFIX}/etc/i2pd/tunnels.conf ${PREFIX}/var/lib/i2pd/tunnels.conf
|