1 # Copyright (c) 2013 Yubico AB
4 # Base copied from ykpers4win.mk
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions are
10 # * Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
13 # * Redistributions in binary form must reproduce the above
14 # copyright notice, this list of conditions and the following
15 # disclaimer in the documentation and/or other materials provided
16 # with the distribution.
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 LIBYUBIKEYVERSION=1.11
32 PROJECT=yubikey-personalization
34 CFLAGS="-mmacosx-version-min=10.6"
40 @if test -z "$(VERSION)" || test -z "$(PGPKEYID)"; then \
41 echo "Try this instead:"; \
42 echo " make PGPKEYID=[PGPKEYID] VERSION=[VERSION]"; \
43 echo "For example:"; \
44 echo " make PGPKEYID=2117364A VERSION=1.6.0"; \
49 rm -rf tmp && mkdir tmp && cd tmp && \
50 mkdir -p root/licenses && \
51 cp ../json-c-$(LIBJSONVERSION) . \
52 || wget --no-check-certificate https://s3.amazonaws.com/json-c_releases/releases/json-c-$(LIBJSONVERSION).tar.gz && \
53 tar xfz json-c-$(LIBJSONVERSION).tar.gz && \
54 cd json-c-$(LIBJSONVERSION) && \
55 CFLAGS=$(CFLAGS) ./configure --prefix=$(PWD)/tmp/root && \
56 make install $(CHECK) && \
57 install_name_tool -id @executable_path/../lib/libjson-c.2.dylib $(PWD)/tmp/root/lib/libjson-c.2.dylib && \
58 install_name_tool -id @executable_path/../lib/libjson-c.2.dylib $(PWD)/tmp/root/lib/libjson-c.dylib && \
59 install_name_tool -id @executable_path/../lib/libjson.0.dylib $(PWD)/tmp/root/lib/libjson.0.dylib && \
60 install_name_tool -id @executable_path/../lib/libjson.0.dylib $(PWD)/tmp/root/lib/libjson.dylib && \
61 install_name_tool -change $(PWD)/tmp/root/lib/libjson-c.2.dylib @executable_path/../lib/libjson-c.2 $(PWD)/tmp/root/lib/libjson.0.dylib && \
62 install_name_tool -change $(PWD)/tmp/root/lib/libjson-c.2.dylib @executable_path/../lib/libjson-c.2 $(PWD)/tmp/root/lib/libjson.dylib && \
63 cp COPYING $(PWD)/tmp/root/licenses/json-c.txt && \
65 cp ../libyubikey-$(LIBYUBIKEYVERSION).tar.gz . \
66 || wget http://yubico.github.io/yubico-c/releases/libyubikey-$(LIBYUBIKEYVERSION).tar.gz && \
67 tar xfz libyubikey-$(LIBYUBIKEYVERSION).tar.gz && \
68 cd libyubikey-$(LIBYUBIKEYVERSION) && \
69 CFLAGS=$(CFLAGS) ./configure --prefix=$(PWD)/tmp/root && \
70 make install $(CHECK) && \
71 install_name_tool -id @executable_path/../lib/libyubikey.0.dylib $(PWD)/tmp/root/lib/libyubikey.dylib && \
72 install_name_tool -id @executable_path/../lib/libyubikey.0.dylib $(PWD)/tmp/root/lib/libyubikey.0.dylib && \
73 cp COPYING $(PWD)/tmp/root/licenses/libyubikey.txt && \
75 cp ../ykpers-$(VERSION).tar.gz . \
76 || wget http://yubico.github.io/yubikey-personalization/releases/ykpers-$(VERSION).tar.gz && \
77 tar xfz ykpers-$(VERSION).tar.gz && \
78 cd ykpers-$(VERSION)/ && \
79 CFLAGS=$(CFLAGS) PKG_CONFIG_PATH=$(PWD)/tmp/root/lib/pkgconfig ./configure --prefix=$(PWD)/tmp/root --with-libyubikey-prefix=$(PWD)/tmp/root && \
80 make install $(CHECK) && \
81 install_name_tool -id @executable_path/../lib/libykpers-1.1.dylib $(PWD)/tmp/root/lib/libykpers-1.dylib && \
82 install_name_tool -id @executable_path/../lib/libykpers-1.1.dylib $(PWD)/tmp/root/lib/libykpers-1.1.dylib && \
83 for executable in $(PWD)/tmp/root/bin/*; do \
84 install_name_tool -change $(PWD)/tmp/root/lib/libyubikey.0.dylib @executable_path/../lib/libyubikey.0.dylib $$executable && \
85 install_name_tool -change $(PWD)/tmp/root/lib/libykpers-1.1.dylib @executable_path/../lib/libykpers-1.1.dylib $$executable ; \
87 cp COPYING $(PWD)/tmp/root/licenses/yubikey-personalization.txt && \
90 zip -r ../../ykpers-$(VERSION)-mac.zip *
93 @if test ! -d $(YUBICO_GITHUB_REPO); then \
94 echo "yubico.github.com repo not found!"; \
95 echo "Make sure that YUBICO_GITHUB_REPO is set"; \
98 gpg --detach-sign --default-key $(PGPKEYID) \
99 $(PACKAGE)-$(VERSION)-mac.zip
100 gpg --verify $(PACKAGE)-$(VERSION)-mac.zip.sig
101 $(YUBICO_GITHUB_REPO)/publish $(PROJECT) $(VERSION) $(PACKAGE)-$(VERSION)-mac.zip*