# $Id$ # http://www.gnu.org/software/gnutls/releases/gnutls-1.7.15.tar.bz2 GNUTLS_VER?=1.7.15 GNUTLS_DIR?=gnutls-${GNUTLS_VER} GNUTLS_BZ2?=${GNUTLS_DIR}.tar.bz2 GNUTLS_URL?=http://www.gnu.org/software/gnutls/releases/${GNUTLS_BZ2} GNUTLS_PATCH=gnutls-1.7.15-mingw-cross-compile.patch GNUTLS_PATCH_URL=http://smithii.com/files/${GNUTLS_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 GNUTLS_TAR_TOUCH=${GNUTLS_DIR}/.tar.touch GNUTLS_CONFIGURE_TOUCH=${GNUTLS_DIR}/.configure.touch GNUTLS_PATCH_TOUCH=${GNUTLS_DIR}/.patch.touch GNUTLS_MAKE_TOUCH=${GNUTLS_DIR}/.make.touch GNUTLS_INSTALL_TOUCH=${GNUTLS_DIR}/.install.touch .PHONY: all clean configure install make nuke remove untar wget all: make ${GNUTLS_BZ2}: ${WGET} ${GNUTLS_URL} touch $@ wget: ${GNUTLS_BZ2} ${GNUTLS_TAR_TOUCH}: ${GNUTLS_BZ2} ${TAR} -xjvf ${GNUTLS_BZ2} touch $@ untar: ${GNUTLS_TAR_TOUCH} ${GNUTLS_PATCH}: ${WGET} ${GNUTLS_PATCH_URL} ${GNUTLS_PATCH_TOUCH}: ${GNUTLS_TAR_TOUCH} ${GNUTLS_PATCH} cd ${GNUTLS_DIR} && \ patch -p1 <../${GNUTLS_PATCH} touch $@ patch: ${GNUTLS_PATCH_TOUCH} ${GNUTLS_CONFIGURE_TOUCH}: ${GNUTLS_PATCH_TOUCH} ifeq ('${OSNAME}', 'linux') libgcrypt-config --version || ( echo "install gcrypt dev library (apt-get install libgcrypt11-dev)" ; exit 1 ) endif cd ${GNUTLS_DIR} && \ ${CONFIGURE} touch $@ configure: ${GNUTLS_CONFIGURE_TOUCH} ${GNUTLS_MAKE_TOUCH}: ${GNUTLS_CONFIGURE_TOUCH} cd ${GNUTLS_DIR} && \ ${MAKE} touch $@ make: ${GNUTLS_MAKE_TOUCH} ${GNUTLS_INSTALL_TOUCH}: ${GNUTLS_MAKE_TOUCH} cd ${GNUTLS_DIR} && \ ${SUDO} ${MAKE} install touch $@ install: ${GNUTLS_INSTALL_TOUCH} clean: rm -fr ${GNUTLS_DIR}/.*.touch cd ${GNUTLS_DIR} && \ ${MAKE} clean nuke: rm -fr ${GNUTLS_DIR} remove: nuke rm -f ${GNUTLS_BZ2}