- Enable passing buildir to top-level configure in environment (makes

it possible to keep different build dirs handy).
This commit is contained in:
japhie 2005-09-06 22:43:52 +00:00
parent ff0f03ef28
commit 78b0f75203
4 changed files with 28 additions and 24 deletions

View file

@ -40,6 +40,7 @@ WWW=http://ecls.sourceforge.net/
# Where to find the source code.
# This is set by the configure script's `--srcdir' option.
srcdir=@srcdir@
buildir=@buildir@
prefix=@prefix@
exec_prefix=@exec_prefix@
@ -65,21 +66,21 @@ INSTALL_DATA = @INSTALL_DATA@
# ============================= Build ==============================
all: build/Makefile
cd build; $(MAKE)
all: $(buildir)/Makefile
cd $(buildir); $(MAKE)
.PHONY: all
Makefile: Makefile.in build/config.status
(cd build; ./config.status)
Makefile: Makefile.in $(buildir)/config.status
(cd $(buildir); ./config.status)
# ==================== Installation ====================
INSTALL_TARGET = @INSTALL_TARGET@
install: build/Makefile
cd build; $(MAKE) $(INSTALL_TARGET)
install: $(buildir)/Makefile
cd $(buildir); $(MAKE) $(INSTALL_TARGET)
uninstall:
cd build; $(MAKE) uninstall
cd $(buildir); $(MAKE) uninstall
# ==================== Documentation ====================
@ -98,7 +99,7 @@ dvi:
# with them.
#
clean:
cd build; $(MAKE) clean
cd $(buildir); $(MAKE) clean
# `distclean'
# Delete all files from the current directory that are created by
@ -108,7 +109,7 @@ clean:
# distribution.
distclean: clean
rm -fr build/config.status
rm -fr $(buildir)/config.status
rm -f Makefile
# `realclean'
@ -126,15 +127,15 @@ TAGS tags:
etags c/*.[cd] h/*.h)
check test:
cd build; $(MAKE) test
cd $(buildir); $(MAKE) test
TAR_DIR=ecl-$(VERSION)
doc: build/doc/index.html
doc: $(buildir)/doc/index.html
-mkdir doc
(cd build/doc; make html); cp build/doc/*.html doc
build/doc/index.html:
cd build/doc; $(MAKE)
(cd $(buildir)/doc; make html); cp $(buildir)/doc/*.html doc
$(buildir)/doc/index.html:
cd $(buildir)/doc; $(MAKE)
source-dist: $(TAR_DIR).tgz $(TAR_DIR)-tests.tgz
@ -171,20 +172,20 @@ binary-dist: all
for i in tmp$(bindir) tmp$(infodir) tmp$(mandir) tmp$(libdir); do \
(echo $$i; IFS="/"; \for k in $$i; do echo $$k; (test -d $$k || mkdir $$k); chmod 755 $$k; cd $$k; done); \
done
prefix=`pwd`/tmp; cd build; $(MAKE) install prefix=$(prefix)
prefix=`pwd`/tmp; cd $(buildir); $(MAKE) install prefix=$(prefix)
su -c "chown -R root.root tmp && cd tmp; tar czf ../ecl-$(VERSION)-$(MACHINE).tgz * && cd .. && rm -rf tmp"
# This creates a ZIP file with a flattened directory structure
windows-dist: all
cd build; rm -rf $(TAR_DIR); mkdir $(TAR_DIR); \
cd $(buildir); rm -rf $(TAR_DIR); mkdir $(TAR_DIR); \
$(MAKE) flatinstall prefix=`pwd`/$(TAR_DIR); \
zip -r $(TAR_DIR).zip $(TAR_DIR)
windows-nsi: all
cd build; rm -rf $(TAR_DIR); mkdir $(TAR_DIR); \
cd $(buildir); rm -rf $(TAR_DIR); mkdir $(TAR_DIR); \
$(MAKE) flatinstall prefix=`pwd`/$(TAR_DIR)
`pwd`/src/util/ecl_nsi.sh `pwd`/src/util/ecl.nsi build/$(TAR_DIR)
makensis.exe build/$(TAR_DIR)/ecl.nsi
mv build/$(TAR_DIR)/Setup.exe ecl-$(VERSION).exe
`pwd`/src/util/ecl_nsi.sh `pwd`/src/util/ecl.nsi $(buildir)/$(TAR_DIR)
makensis.exe $(buildir)/$(TAR_DIR)/ecl.nsi
mv $(buildir)/$(TAR_DIR)/Setup.exe ecl-$(VERSION).exe
dist:
cd dist; make-dist

3
configure vendored
View file

@ -11,7 +11,8 @@ set -e
# srcdir=`pwd`/src
#fi
srcdir=`pwd`/src
buildir=build
[ "x$buildir" = "x" ] && buildir=build
export buildir
if [ ! -d ${buildir} ] ; then
echo Creating directory "\`${buildir}'"

7
src/configure vendored
View file

@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in Revision: 1.109 .
# From configure.in Revision: 1.110 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for ecl 0.9g.
#
@ -310,7 +310,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS docdir ECL_CFLAGS FASL_LIBS CORE_LIBS SHARED_LDFLAGS BUNDLE_LDFLAGS SHORT_SITE_NAME LONG_SITE_NAME EXTRA_OBJS TARGETS SUBDIRS LIBRARIES LSP_LIBRARIES LSP_FEATURES build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX CPP RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE true_srcdir true_builddir CP RM MV EXE_SUFFIX ARCHITECTURE SOFTWARE_TYPE SOFTWARE_VERSION MACHINE_INSTANCE MACHINE_VERSION LDRPATH LIBPREFIX LIBEXT SHAREDEXT SHAREDPREFIX INSTALL_TARGET thehost INFOEXT INSTALL_INFO EGREP ECL_SETJMP ECL_LONGJMP ECL_FILE_CNT CL_FIXNUM_TYPE CL_FIXNUM_BITS CL_FIXNUM_MAX CL_FIXNUM_MIN LIBOBJS POW_LIB ECL_CC CLX_INFO LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS docdir buildir ECL_CFLAGS FASL_LIBS CORE_LIBS SHARED_LDFLAGS BUNDLE_LDFLAGS SHORT_SITE_NAME LONG_SITE_NAME EXTRA_OBJS TARGETS SUBDIRS LIBRARIES LSP_LIBRARIES LSP_FEATURES build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX CPP RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE true_srcdir true_builddir CP RM MV EXE_SUFFIX ARCHITECTURE SOFTWARE_TYPE SOFTWARE_VERSION MACHINE_INSTANCE MACHINE_VERSION LDRPATH LIBPREFIX LIBEXT SHAREDEXT SHAREDPREFIX INSTALL_TARGET thehost INFOEXT INSTALL_INFO EGREP ECL_SETJMP ECL_LONGJMP ECL_FILE_CNT CL_FIXNUM_TYPE CL_FIXNUM_BITS CL_FIXNUM_MAX CL_FIXNUM_MIN LIBOBJS POW_LIB ECL_CC CLX_INFO LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@ -1552,7 +1552,7 @@ test -z "${docdir}" && docdir="${datadir}/doc/ecl"
boehm_configure_flags=""
TARGETS='ecl$(EXE)'
TARGETS='ecl$(EXE)'
SUBDIRS=c
LSP_FEATURES='*features*'
@ -10317,6 +10317,7 @@ s,@ECHO_N@,$ECHO_N,;t t
s,@ECHO_T@,$ECHO_T,;t t
s,@LIBS@,$LIBS,;t t
s,@docdir@,$docdir,;t t
s,@buildir@,$buildir,;t t
s,@ECL_CFLAGS@,$ECL_CFLAGS,;t t
s,@FASL_LIBS@,$FASL_LIBS,;t t
s,@CORE_LIBS@,$CORE_LIBS,;t t

View file

@ -138,6 +138,7 @@ dnl Initialize variables.
boehm_configure_flags=""
AC_EXEEXT dnl Guess whether .exe is needed for executables
AC_SUBST(buildir) dnl For top-level Makefile.in
AC_SUBST(ECL_CFLAGS) dnl Similar, but specific to ECL (see src/util/ecl-config)
AC_SUBST(FASL_LIBS) dnl Libraries to link into all ecl code but not
dnl into helper programs.