/* * cook - file construction tool * Copyright (C) 2002-2004, 2007 Peter Miller; * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * * MANIFEST: Instructions to Cook, how to use GNU Autoconf */ configure: etc/configure.ac install-sh { if [not [exists install-sh]] then { /* * Cook says it is up-to-date, so it must be in the * baseline; autoconf needs it in the current directory. */ cp [resolve install-sh] . set clearstat; } autoconf [resolve etc/configure.ac] > [target]; chmod 755 [target]; } /* * The install-sh script can come from a huge range of places, depending * on what distribution you have installed (or whether you built it from * the tarball). */ loop install-sh-maybe = /usr/share/autoconf/install-sh [glob /usr/share/automake*/install-sh] /usr/local/share/autoconf/install-sh [glob /usr/local/share/automake*/install-sh] { if [exists [install-sh-maybe]] then { install-sh = [install-sh-maybe]; loopstop; } } if [not [install-sh]] then fail "Can't locate the ``install-sh'' script from GNU automake"; install-sh: [install-sh] { cp [need] [target]; chmod 755 [target]; } [arch]/config.status: configure install-sh { if [not [exists install-sh]] then { /* * Cook says it is up-to-date, so it must be in the * baseline; autoconf needs it in the current directory. */ cp [resolve install-sh] . set clearstat; } ./[resolve configure] --cache-file\=/dev/null --verbose --no-create; mv config.status [arch]/config.status; } common/config.h.in: etc/configure.ac { autoheader [resolve etc/configure.ac] > [target]; } [arch]/%0%.h: %0%.h.in [arch]/config.status single-thread conftest.subs { CONFIG_FILES\= CONFIG_HEADERS\=[target]\:[resolve %0%.h.in] [resolve [arch]/config.status]; } [arch]/%0%: %0%.in [arch]/config.status single-thread conftest.subs { CONFIG_FILES\=[target]\:[resolve %0%.in] CONFIG_HEADERS\= [resolve [arch]/config.status]; }