mirror of
https://github.com/Yubico/yubico-pam.git
synced 2024-11-28 15:24:13 +01:00
88 lines
4.2 KiB
Makefile
88 lines
4.2 KiB
Makefile
# Copyright (c) 2016 Yubico AB
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are
|
|
# met:
|
|
#
|
|
# * Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
#
|
|
# * Redistributions in binary form must reproduce the above
|
|
# copyright notice, this list of conditions and the following
|
|
# disclaimer in the documentation and/or other materials provided
|
|
# with the distribution.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
YKPERS_VERSION=1.18.1
|
|
YKCLIENT_VERSION=2.15
|
|
CFLAGS="-mmacosx-version-min=10.6 -arch i386 -arch x86_64"
|
|
CHECK=check
|
|
ROOT_DIR="com.yubico.pam_yubico"
|
|
LICENSE_DIR="$(ROOT_DIR)/share/pam_yubico/licenses"
|
|
INSTALLER_IDENTITY:="Developer ID Installer"
|
|
ifeq ($(SIGN), sign)
|
|
SIGNING=--sign $(INSTALLER_IDENTITY) --timestamp
|
|
endif
|
|
|
|
all: usage doit
|
|
|
|
.PHONY: usage
|
|
usage:
|
|
@if test -z "$(VERSION)"; then \
|
|
echo "Must supply VERSION"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
doit:
|
|
DIR=`mktemp -d $(PWD)/pkg.XXXXXX` && \
|
|
cd $$DIR && \
|
|
cp ../ykpers-$(YKPERS_VERSION)-mac.zip . || \
|
|
curl -L -O "https://developers.yubico.com/yubikey-personalization/Releases/ykpers-$(YKPERS_VERSION)-mac.zip" && \
|
|
mkdir -p $(LICENSE_DIR) && \
|
|
mkdir lib && cd lib && \
|
|
unzip ../ykpers-$(YKPERS_VERSION)-mac.zip && \
|
|
rm -rf lib/*.la && \
|
|
cd .. && \
|
|
cp ../ykclient-$(YKCLIENT_VERSION).tar.gz || \
|
|
curl -L -O "https://developers.yubico.com/yubico-c-client/Releases/ykclient-$(YKCLIENT_VERSION).tar.gz" && \
|
|
tar xfz ykclient-$(YKCLIENT_VERSION).tar.gz && \
|
|
cd ykclient-$(YKCLIENT_VERSION) && \
|
|
CFLAGS=$(CFLAGS) PKG_CONFIG_PATH=$$DIR/lib/lib/pkgconfig ./configure --prefix=$$DIR/lib/ && \
|
|
make $(CHECK) install && \
|
|
cp COPYING $$DIR/$(LICENSE_DIR)/yubico-c-client.txt && \
|
|
cd .. && \
|
|
mkdir -p $$DIR/$(ROOT_DIR)/lib && \
|
|
LIBS="libjson-c.2.dylib libykclient.3.dylib libykpers-1.1.dylib libyubikey.0.dylib" && \
|
|
for lib in $$LIBS; do \
|
|
install_name_tool -id @loader_path/../$$lib $$DIR/lib/lib/$$lib && \
|
|
install_name_tool -change @executable_path/../lib/libyubikey.0.dylib @loader_path/libyubikey.0.dylib $$DIR/lib/lib/$$lib && \
|
|
install_name_tool -change @executable_path/../lib/libjson-c.2.dylib @loader_path/libjson-c.2.dylib $$DIR/lib/lib/$$lib && \
|
|
cp $$DIR/lib/lib/$$lib $$DIR/$(ROOT_DIR)/lib/ ; \
|
|
done && \
|
|
cp ../pam_yubico-$(VERSION).tar.gz . || \
|
|
curl -L -O "https://developers.yubico.com/yubico-pam/Releases/pam_yubico-$(VERSION).tar.gz" && \
|
|
tar xfz pam_yubico-$(VERSION).tar.gz && \
|
|
cd pam_yubico-$(VERSION)/ && \
|
|
YKPERS_CFLAGS=-I$$DIR/lib/include/ykpers-1 YKPERS_LIBS="-L$$DIR/lib/lib/ -lykpers-1" CFLAGS=$(CFLAGS) PKG_CONFIG_PATH=$$DIR/lib/lib/pkgconfig ./configure --prefix=$$DIR/$(ROOT_DIR)/ --with-libyubikey-prefix=$$DIR/lib/ --with-libykclient-prefix=$$DIR/lib/ && \
|
|
make install && \
|
|
install_name_tool -change @executable_path/../lib/libyubikey.0.dylib @loader_path/../libyubikey.0.dylib $$DIR/$(ROOT_DIR)/lib/security/pam_yubico.so && \
|
|
install_name_tool -change @executable_path/../lib/libykpers-1.1.dylib @loader_path/../libykpers-1.1.dylib $$DIR/$(ROOT_DIR)/lib/security/pam_yubico.so && \
|
|
cp COPYING $$DIR/$(LICENSE_DIR)/yubico-pam.txt && \
|
|
cd ../.. && \
|
|
rm $$DIR/$(ROOT_DIR)/lib/security/*.la && \
|
|
cp $$DIR/lib/licenses/* $$DIR/$(LICENSE_DIR) && \
|
|
productbuild --root $$DIR/$(ROOT_DIR)/ /usr/local/ --version $(VERSION) pam_yubico-$(VERSION).pkg $(SIGNING) && \
|
|
rm -rf $$DIR
|