# $Id$ # ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.2.4.tar.gz LIBGCRYPT_VER?=1.2.4 LIBGCRYPT_DIR?=libgcrypt-${LIBGCRYPT_VER} LIBGCRYPT_GZ?=${LIBGCRYPT_DIR}.tar.gz LIBGCRYPT_URL?=ftp://ftp.gnupg.org/gcrypt/libgcrypt/${LIBGCRYPT_GZ} LIBGCRYPT_PATCH=libgcrypt-1.2.4-mingw-cross-compile.patch LIBGCRYPT_PATCH_URL=http://smithii.com/files/${LIBGCRYPT_PATCH} OSNAME:=$(shell uname | perl -ne 'tr/A-Z/a-z/; /([a-z]+)/ && print $$1;') GUNZIP?=gunzip MAKE?=make PATCH?=patch PERL?=perl SUDO?= TAR?=tar WGET?=wget -N ifeq ('${OSNAME}', 'mingw') # mingw's tar doesn't handle symlinks TAR=c:/cygwin/bin/tar endif CONFIGURE=./configure ifeq ('${OSNAME}', 'linux') CONFIGURE=./configure \ --host=i586-mingw32msvc \ --build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \ --prefix=/usr/i586-mingw32msvc \ --enable-shared MAKE=PATH=/usr/i586-mingw32msvc/bin:$$PATH \ make \ PREFIX=/usr/i586-mingw32msvc \ AR=i586-mingw32msvc-ar \ AS=i586-mingw32msvc-as \ CC=i586-mingw32msvc-gcc \ LD=i586-mingw32msvc-ld \ RC=i586-mingw32msvc-windres endif LIBGCRYPT_TAR_TOUCH=${LIBGCRYPT_DIR}/.tar.touch LIBGCRYPT_CONFIGURE_TOUCH=${LIBGCRYPT_DIR}/.configure.touch LIBGCRYPT_PATCH_TOUCH=${LIBGCRYPT_DIR}/.patch.touch LIBGCRYPT_MAKE_TOUCH=${LIBGCRYPT_DIR}/.make.touch LIBGCRYPT_INSTALL_TOUCH=${LIBGCRYPT_DIR}/.install.touch .PHONY: all clean configure install make patch nule remove uninstall untar wget all: make ${LIBGCRYPT_GZ}: ${WGET} ${LIBGCRYPT_URL} touch $@ wget: ${LIBGCRYPT_GZ} ${LIBGCRYPT_TAR_TOUCH}: ${LIBGCRYPT_GZ} ${TAR} -xzvf ${LIBGCRYPT_GZ} touch $@ untar: ${LIBGCRYPT_TAR_TOUCH} ${LIBGCRYPT_PATCH}: ${WGET} ${LIBGCRYPT_PATCH_URL} ${LIBGCRYPT_PATCH_TOUCH}: ${LIBGCRYPT_TAR_TOUCH} ${LIBGCRYPT_PATCH} cd ${LIBGCRYPT_DIR} && \ patch -p1 <../${LIBGCRYPT_PATCH} touch $@ patch: ${LIBGCRYPT_PATCH_TOUCH} ${LIBGCRYPT_CONFIGURE_TOUCH}: ${LIBGCRYPT_PATCH_TOUCH} ifeq ('${OSNAME}', 'linux') gpg-error-config --version || ( echo "install gpg-error dev library (apt-get install libgpg-error-dev)" ; exit 1 ) endif cd ${LIBGCRYPT_DIR} && \ ${CONFIGURE} touch $@ configure: ${LIBGCRYPT_CONFIGURE_TOUCH} ${LIBGCRYPT_MAKE_TOUCH}: ${LIBGCRYPT_CONFIGURE_TOUCH} cd ${LIBGCRYPT_DIR} && \ ${MAKE} touch $@ make: ${LIBGCRYPT_MAKE_TOUCH} ${LIBGCRYPT_INSTALL_TOUCH}: ${LIBGCRYPT_MAKE_TOUCH} cd ${LIBGCRYPT_DIR} && \ ${SUDO} ${MAKE} install touch $@ install: ${LIBGCRYPT_INSTALL_TOUCH} uninstall: ${LIBGCRYPT_MAKE_TOUCH} cd ${LIBGCRYPT_DIR} && \ ${SUDO} ${MAKE} uninstall rm -f ${LIBGCRYPT_INSTALL_TOUCH} touch $@ clean: rm -fr ${LIBGCRYPT_DIR}/.*.touch cd ${LIBGCRYPT_DIR} && \ ${MAKE} clean nuke: rm -fr ${LIBGCRYPT_DIR} remove: nuke rm -f ${LIBGCRYPT_GZ}