aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeutates <103068388+Teutates@users.noreply.github.com>2022-07-07 15:48:07 -0400
committerGitHub <noreply@github.com>2022-07-07 15:48:07 -0400
commitcbf57f9237e439ab11e72fb5e08d855fe9fbc3fe (patch)
tree3791f663e9c4e8a62ac81ebf3c2723dddc793e11
parent7a106796ddcdb0979b4a65020fd7356178b7cce7 (diff)
downloadldid-cbf57f9237e439ab11e72fb5e08d855fe9fbc3fe.tar.gz
ldid-cbf57f9237e439ab11e72fb5e08d855fe9fbc3fe.tar.zst
ldid-cbf57f9237e439ab11e72fb5e08d855fe9fbc3fe.zip
Improve makefile (#16)
-rw-r--r--.github/workflows/build.yml29
-rw-r--r--Makefile25
2 files changed, 32 insertions, 22 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 0144433..2630fc4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -78,7 +78,7 @@ jobs:
echo "RANLIB=${TRIPLE}-gcc-ranlib" >> $GITHUB_ENV
echo "CFLAGS=-Os -fPIC -fno-pie -no-pie -static -flto -ffunction-sections -fdata-sections" >> $GITHUB_ENV
echo "CXXFLAGS=-Os -fPIC -fno-pie -no-pie -static -flto -ffunction-sections -fdata-sections" >> $GITHUB_ENV
- echo "LDFLAGS=-Wl,--gc-sections -Wl,-strip-all -flto" >> $GITHUB_ENV
+ echo "LDFLAGS=-Os -fPIC -fno-pie -no-pie -static -Wl,--gc-sections -Wl,-strip-all -flto -ffunction-sections -fdata-sections" >> $GITHUB_ENV
- name: build libplist
run: |
@@ -88,8 +88,8 @@ jobs:
./configure --host=${TRIPLE} --prefix=/usr --without-cython --enable-static --disable-shared
make -j$(nproc)
- echo "CPPFLAGS=${CPPFLAGS} -I${DEP_PATH}/libplist-${LIBPLIST_VERSION}/include" >> $GITHUB_ENV
- echo "LIBPLIST_LIB=${DEP_PATH}/libplist-${LIBPLIST_VERSION}/src/.libs/libplist-2.0.a" >> $GITHUB_ENV
+ echo "LIBPLIST_INCLUDES=-I${DEP_PATH}/libplist-${LIBPLIST_VERSION}/include" >> $GITHUB_ENV
+ echo "LIBPLIST_LIBS=${DEP_PATH}/libplist-${LIBPLIST_VERSION}/src/.libs/libplist-2.0.a" >> $GITHUB_ENV
- name: build openssl
run: |
@@ -101,16 +101,13 @@ jobs:
./config --prefix=/usr --static -static no-module ${PLATFORM}
make -j$(nproc) build_generated libcrypto.a
- echo "CPPFLAGS=${CPPFLAGS} -I${DEP_PATH}/openssl-${OPENSSL_VERSION}/include" >> $GITHUB_ENV
- echo "LIBCRYPTO_LIB=${DEP_PATH}/openssl-${OPENSSL_VERSION}/libcrypto.a" >> $GITHUB_ENV
+ echo "LIBCRYPTO_INCLUDES=-I${DEP_PATH}/openssl-${OPENSSL_VERSION}/include" >> $GITHUB_ENV
+ echo "LIBCRYPTO_LIBS=${DEP_PATH}/openssl-${OPENSSL_VERSION}/libcrypto.a" >> $GITHUB_ENV
- name: build
run: |
- export LDID_VERSION=$(echo "$(git describe --tags --abbrev=0)")
make -j$(nproc) \
- VERSION="${LDID_VERSION}" \
- LDFLAGS="-static -static-libstdc++ ${LDFLAGS}" \
- LIBS="${LIBPLIST_LIB} ${LIBCRYPTO_LIB}"
+ LDFLAGS="-static -static-libstdc++ ${LDFLAGS}"
${TRIPLE}-strip ldid
- uses: actions/upload-artifact@v1
@@ -190,8 +187,8 @@ jobs:
./configure --host=${HOST_ARCH}-apple-darwin --without-cython --enable-static --disable-shared
make -j$(sysctl -n hw.ncpu)
- echo "CXXFLAGS=${CXXFLAGS} -I${DEP_PATH}/libplist-${LIBPLIST_VERSION}/include" >> $GITHUB_ENV
- echo "LIBPLIST_LIB=${DEP_PATH}/libplist-${LIBPLIST_VERSION}/src/.libs/libplist-2.0.a" >> $GITHUB_ENV
+ echo "LIBPLIST_INCLUDES=-I${DEP_PATH}/libplist-${LIBPLIST_VERSION}/include" >> $GITHUB_ENV
+ echo "LIBPLIST_LIBS=${DEP_PATH}/libplist-${LIBPLIST_VERSION}/src/.libs/libplist-2.0.a" >> $GITHUB_ENV
- name: build openssl
run: |
@@ -201,16 +198,14 @@ jobs:
./config --prefix=/usr no-shared no-module darwin64-${ARCH}-cc
make -j$(sysctl -n hw.ncpu) build_generated libcrypto.a
- echo "CXXFLAGS=${CXXFLAGS} -I${DEP_PATH}/openssl-${OPENSSL_VERSION}/include" >> $GITHUB_ENV
- echo "LIBCRYPTO_LIB=${DEP_PATH}/openssl-${OPENSSL_VERSION}/libcrypto.a" >> $GITHUB_ENV
+ echo "LIBCRYPTO_INCLUDES=${CXXFLAGS} -I${DEP_PATH}/openssl-${OPENSSL_VERSION}/include" >> $GITHUB_ENV
+ echo "LIBCRYPTO_LIBS=${DEP_PATH}/openssl-${OPENSSL_VERSION}/libcrypto.a" >> $GITHUB_ENV
- name: build
run: |
- export LDID_VERSION=$(echo "$(git describe --tags --abbrev=0)")
make -j$(sysctl -n hw.ncpu) \
- CXXFLAGS="-std=c++11 ${CXXFLAGS} -flto=thin" \
- VERSION="${LDID_VERSION}" \
- LIBS="${LIBPLIST_LIB} ${LIBCRYPTO_LIB}"
+ CXXFLAGS="-flto=thin ${CXXFLAGS}" \
+ LDFLAGS="-flto=thin"
strip ldid
- uses: actions/upload-artifact@v1
diff --git a/Makefile b/Makefile
index d0419b1..e528faf 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,15 @@
-VERSION ?= 2.1.5
+ifneq (,$(wildcard .git))
+VERSION ?= $(shell git describe --tags)
+else
+VERSION ?= 2.1.5-procursus3
+endif
CC ?= cc
CXX ?= c++
INSTALL ?= install
LN ?= ln
-CXXFLAGS ?= -std=c++11 -O2 -pipe
+CXXFLAGS ?= -O2 -pipe
LDFLAGS ?=
PREFIX ?= /usr/local
@@ -14,17 +18,28 @@ BINDIR ?= $(PREFIX)/bin
MANDIR ?= $(PREFIX)/share/man
SRC := ldid.cpp
-LIBS ?= -lcrypto -lplist-2.0
+LIBS ?=
+
+LIBPLIST_INCLUDES ?= $(shell pkg-config --cflags libplist-2.0)
+LIBPLIST_LIBS ?= $(shell pkg-config --libs libplist-2.0)
+
+ifeq ($(shell uname -s),FreeBSD)
+LIBCRYPTO_INCLUDES ?= -I/usr/include
+LIBCRYPTO_LIBS ?= -L/usr/lib -lcrypto
+else
+LIBCRYPTO_INCLUDES ?= $(shell pkg-config --cflags libcrypto)
+LIBCRYPTO_LIBS ?= $(shell pkg-config --libs libcrypto)
+endif
MANPAGE_LANGS := zh_TW zh_CN
all: ldid
%.cpp.o: %.cpp
- $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -I. -DLDID_VERSION=\"$(VERSION)\" $< -o $@
+ $(CXX) -c -std=c++11 $(CXXFLAGS) $(LIBCRYPTO_INCLUDES) $(LIBPLIST_INCLUDES) $(CPPFLAGS) -I. -DLDID_VERSION=\"$(VERSION)\" $< -o $@
ldid: $(SRC:%=%.o)
- $(CXX) $(CXXFLAGS) -o ldid $^ $(LDFLAGS) $(LIBS)
+ $(CXX) -o ldid $^ $(LDFLAGS) $(LIBCRYPTO_LIBS) $(LIBPLIST_LIBS) $(LIBS)
install: all
$(INSTALL) -d $(DESTDIR)$(BINDIR)/