1*6eef5f0cSAntonio Huete Jimenez# $Id: autoconf.mk,v 1.16 2021/10/19 17:36:06 sjg Exp $ 25f1e34d9SAlexandre Perrin# 35f1e34d9SAlexandre Perrin# @(#) Copyright (c) 1996-2009, Simon J. Gerraty 45f1e34d9SAlexandre Perrin# 55f1e34d9SAlexandre Perrin# This file is provided in the hope that it will 65f1e34d9SAlexandre Perrin# be of use. There is absolutely NO WARRANTY. 75f1e34d9SAlexandre Perrin# Permission to copy, redistribute or otherwise 85f1e34d9SAlexandre Perrin# use this file is hereby granted provided that 95f1e34d9SAlexandre Perrin# the above copyright notice and this notice are 105f1e34d9SAlexandre Perrin# left intact. 115f1e34d9SAlexandre Perrin# 125f1e34d9SAlexandre Perrin# Please send copies of changes and bug-fixes to: 135f1e34d9SAlexandre Perrin# sjg@crufty.net 145f1e34d9SAlexandre Perrin# 155f1e34d9SAlexandre Perrin 16*6eef5f0cSAntonio Huete Jimenez.NOPATH: config.h config.gen config.recheck config.status 175f1e34d9SAlexandre Perrin 18ca58f742SDaniel FojtCONFIGURE_DEPS += ${.CURDIR}/config.h.in ${.CURDIR}/configure 19ca58f742SDaniel Fojt 205f1e34d9SAlexandre Perrin.if !target(config.h) 21*6eef5f0cSAntonio Huete Jimenezconfig.h: .NOTMAIN ${CONFIGURE_DEPS} config.status 225f1e34d9SAlexandre Perrin ./config.status 23*6eef5f0cSAntonio Huete Jimenez.if !empty(AUTOCONF_GENERATED_MAKEFILE) && ${AUTOCONF_GENERATED_MAKEFILE:T:@m@${"${.MAKE.MAKEFILES:T:M$m}":?yes:no}@:Mno} != "" 24*6eef5f0cSAntonio Huete Jimenez @echo Generated ${AUTOCONF_GENERATED_MAKEFILE}, you need to restart; exit 1 25*6eef5f0cSAntonio Huete Jimenez.endif 265f1e34d9SAlexandre Perrin.endif 275f1e34d9SAlexandre Perrin 285f1e34d9SAlexandre Perrin.if !target(config.status) 295f1e34d9SAlexandre Perrin# avoid the targets behaving differently 30*6eef5f0cSAntonio Huete Jimenezconfig.status: .NOTMAIN 315f1e34d9SAlexandre Perrin.if exists(${.OBJDIR}/config.status) 325f1e34d9SAlexandre Perrinconfig.status: config.recheck 335f1e34d9SAlexandre Perrin.else 345f1e34d9SAlexandre Perrinconfig.status: config.gen 355f1e34d9SAlexandre Perrin.endif 365f1e34d9SAlexandre Perrin 37*6eef5f0cSAntonio Huete Jimenezconfig.recheck: .NOTMAIN ${CONFIGURE_DEPS} config.gen 385f1e34d9SAlexandre Perrin ./config.status --recheck 395f1e34d9SAlexandre Perrin @touch $@ 405f1e34d9SAlexandre Perrin 41*6eef5f0cSAntonio Huete Jimenezconfig.gen: .NOTMAIN ${CONFIGURE_DEPS} 425f1e34d9SAlexandre Perrin CC="${CC} ${CCMODE}" ${.CURDIR}/configure --no-create ${CONFIGURE_ARGS} 435f1e34d9SAlexandre Perrin @touch $@ config.recheck 445f1e34d9SAlexandre Perrin 45*6eef5f0cSAntonio Huete JimenezCLEANFILES+= config.recheck config.gen config.status *.meta \ 46*6eef5f0cSAntonio Huete Jimenez ${AUTOCONF_GENERATED_MAKEFILE:U} 475f1e34d9SAlexandre Perrin.endif 485f1e34d9SAlexandre Perrin 495f1e34d9SAlexandre Perrin# avoid things blowing up if these are not here... 505f1e34d9SAlexandre Perrin# this is not quite per the autoconf manual, 515f1e34d9SAlexandre Perrin# and is extremely convoluted - but all utterly necessary! 525f1e34d9SAlexandre Perrin 535f1e34d9SAlexandre Perrin.if make(autoconf-in) || make(configure) || make(config.h.in) || ${AUTO_AUTOCONF:Uno:tl} == "yes" 545f1e34d9SAlexandre PerrinAUTOCONF ?= autoconf 555f1e34d9SAlexandre PerrinAUTOHEADER ?= autoheader 565f1e34d9SAlexandre Perrin 575f1e34d9SAlexandre Perrin# expand it to a full path 585f1e34d9SAlexandre PerrinAUTOCONF := ${AUTOCONF:${M_whence}} 595f1e34d9SAlexandre Perrin 605f1e34d9SAlexandre Perrin.if exists(${AUTOCONF}) 615f1e34d9SAlexandre Perrin 625f1e34d9SAlexandre Perrin.PRECIOUS: configure config.h.in config.status 635f1e34d9SAlexandre Perrin 645f1e34d9SAlexandre PerrinACLOCAL = 655f1e34d9SAlexandre PerrinACCONFIG = 665f1e34d9SAlexandre Perrin 675f1e34d9SAlexandre Perrin.if exists(${.CURDIR}/aclocal.m4) 685f1e34d9SAlexandre PerrinACLOCAL += aclocal.m4 695f1e34d9SAlexandre Perrin.endif 705f1e34d9SAlexandre Perrin# use of acconfig.h is deprecated! 715f1e34d9SAlexandre Perrin.if exists(${.CURDIR}/acconfig.h) 725f1e34d9SAlexandre PerrinACCONFIG += acconfig.h 735f1e34d9SAlexandre Perrin.endif 745f1e34d9SAlexandre Perrin 75*6eef5f0cSAntonio Huete Jimenezconfig.h.in: .NOTMAIN ${.CURDIR}/configure.in ${ACCONFIG} 765f1e34d9SAlexandre Perrin (cd ${.CURDIR} && ${AUTOHEADER}) 775f1e34d9SAlexandre Perrin 78*6eef5f0cSAntonio Huete Jimenezconfigure: .NOTMAIN ${.CURDIR}/configure.in ${ACLOCAL} 795f1e34d9SAlexandre Perrin (cd ${.CURDIR} && ${AUTOCONF}) 805f1e34d9SAlexandre Perrin 815f1e34d9SAlexandre PerrinAUTOCONF_INPUTS += configure 82*6eef5f0cSAntonio Huete Jimenezautoconf-input: .NOTMAIN ${AUTOCONF_INPUTS} 835f1e34d9SAlexandre Perrin 845f1e34d9SAlexandre Perrin.endif 855f1e34d9SAlexandre Perrin.endif 86