Mercurial > hg > octave-nkf
view Makeconf.in @ 3965:edd758a7ca8d
[project @ 2002-06-28 19:00:56 by jwe]
author | jwe |
---|---|
date | Fri, 28 Jun 2002 19:00:56 +0000 |
parents | 56db014d8980 |
children | 8eaf7182d48a |
line wrap: on
line source
# @configure_input@ # # Common configuration rules for all of octave's Makefiles. # # John W. Eaton # jwe@bevo.che.wisc.edu # University of Wisconsin-Madison # Department of Chemical Engineering SHELL = /bin/sh # A shell command to extract the version number from version.h. getversion = sed -e '/VERSION/!d' -e 's/.*"\(.*\)".*$$/\1/' -e q # Look for version.h to get version information. xfiles := $(TOPDIR)/src/version.h $(srcdir)/$(TOPDIR)/src/version.h version_file := $(firstword $(foreach file, $(xfiles), $(wildcard $(file)))) version := $(shell $(getversion) $(version_file)) #### Start of system configuration section. #### EXEEXT = @EXEEXT@ LEX = @LEX@ LFLAGS = @LFLAGS@ LEXLIB = @LEXLIB@ YACC = @YACC@ YFLAGS = -dv GPERF = @GPERF@ AR = @AR@ ARFLAGS = @ARFLAGS@ TEMPLATE_AR = @TEMPLATE_AR@ TEMPLATE_ARFLAGS = @TEMPLATE_ARFLAGS@ RANLIB = @RANLIB@ LN_S = @LN_S@ RUNTEST = @RUNTEST@ TEXI2DVI = $(top_srcdir)/texi2dvi DEFAULT_PAGER = @DEFAULT_PAGER@ WITH_DL = @WITH_DL@ WITH_SHL = @WITH_SHL@ WITH_DYNAMIC_LINKING = @WITH_DYNAMIC_LINKING@ OCTAVE_LITE = @OCTAVE_LITE@ STATIC_LIBS = @STATIC_LIBS@ SHARED_LIBS = @SHARED_LIBS@ SHLEXT = @SHLEXT@ SHLEXT_VER = $(SHLEXT).$(version) LIBEXT = a # Fortran to C translator and associated flags. F2C = @F2C@ F2CFLAGS = @F2CFLAGS@ # Fortran compiler flags. FC = @FC@ F77 = @F77@ FFLAGS = @FFLAGS@ FPICFLAG = @FPICFLAG@ ALL_FFLAGS = $(FFLAGS) # cc and associated flags. DLFCN_INCFLAGS = @DLFCN_INCFLAGS@ GLOB_INCFLAGS = @GLOB_INCFLAGS@ # Clean up INCFLAGS a bit if we are not compiling in a separate # directory. ifeq ($(srcdir),.) TMP_IF_1 = -I. else TMP_IF_1 = -I. -I$(srcdir) endif ifeq ($(TOPDIR),$(top_srcdir)) TMP_IF_2 = -I$(TOPDIR) -I$(TOPDIR)/liboctave -I$(TOPDIR)/src \ -I$(TOPDIR)/libcruft/misc else TMP_IF_2 = -I$(TOPDIR) -I$(TOPDIR)/liboctave -I$(TOPDIR)/src \ -I$(TOPDIR)/libcruft/misc -I$(top_srcdir) \ -I$(top_srcdir)/liboctave -I$(top_srcdir)/src \ -I$(top_srcdir)/libcruft/misc endif INCFLAGS = $(TMP_IF_1) $(TMP_IF_2) $(DLFCN_INCFLAGS) $(GLOB_INCFLAGS) LIBFLAGS = -L$(TOPDIR) DEFS = @DEFS@ UGLY_DEFS = @UGLY_DEFS@ CC = @CC@ CC_VERSION = @CC_VERSION@ CFLAGS = @CFLAGS@ CPICFLAG = @CPICFLAG@ XTRA_CFLAGS = @XTRA_CFLAGS@ ALL_CFLAGS = $(INCFLAGS) $(DEFS) $(XTRA_CFLAGS) $(CFLAGS) BUG_CFLAGS = $(DEFS) $(XTRA_CFLAGS) $(CFLAGS) DEPEND_FLAGS = @DEPEND_FLAGS@ DEPEND_EXTRA_SED_PATTERN = @DEPEND_EXTRA_SED_PATTERN@ CXX = @CXX@ CXX_VERSION = @CXX_VERSION@ CXXCPP = @CXXCPP@ CXXFLAGS = @CXXFLAGS@ CXXPICFLAG = @CXXPICFLAG@ XTRA_CXXFLAGS = @XTRA_CXXFLAGS@ ALL_CXXFLAGS = $(INCFLAGS) $(DEFS) $(XTRA_CXXFLAGS) $(CXXFLAGS) UGLY_ALL_CXXFLAGS = $(INCFLAGS) $(UGLY_DEFS) $(XTRA_CXXFLAGS) $(CXXFLAGS) BUG_CXXFLAGS = $(DEFS) $(XTRA_CXXFLAGS) $(CXXFLAGS) CPPFLAGS = @CPPFLAGS@ LD_CXX = @LD_CXX@ LDFLAGS = @LDFLAGS@ LD_STATIC_FLAG = @LD_STATIC_FLAG@ ALL_LDFLAGS = $(LIBFLAGS) $(LD_STATIC_FLAG) $(CPICFLAG) $(LDFLAGS) SH_LD = @SH_LD@ SH_LDFLAGS = @SH_LDFLAGS@ SONAME_FLAGS = @SONAME_FLAGS@ RDYNAMIC_FLAG = @RDYNAMIC_FLAG@ RLD_FLAG = @RLD_FLAG@ FLIBS = @FLIBS@ LIBDLFCN = @LIBDLFCN@ LIBGLOB = @LIBGLOB@ LIBPLPLOT = @LIBPLPLOT@ LIBKPATHSEA = @LIBKPATHSEA@ LIBOCTINTERP = @LIBOCTINTERP@ LIBOCTAVE = @LIBOCTAVE@ LIBOCT_READLINE = @LIBOCT_READLINE@ LIBOCT_PATHSEARCH = @LIBOCT_PATHSEARCH@ LIBCRUFT = @LIBCRUFT@ BLAS_LIBS = @BLAS_LIBS@ FFTW_LIBS = @FFTW_LIBS@ LIBS = @LIBS@ # The arguments passed to configure. config_opts = @config_opts@ # ==================== Where To Install Things ==================== # The default location for installation. Everything is placed in # subdirectories of this directory. The default values for many of # the variables below are expressed in terms of this one, so you may # not need to change them. This defaults to /usr/local. prefix = @prefix@ # Like `prefix', but used for architecture-specific files. exec_prefix = @exec_prefix@ # Where to install Octave and other binaries that people will want to # run directly. bindir = @bindir@ # Where to install architecture-independent data files. ${fcnfiledir} # and ${localfcnfiledir} are subdirectories of this. datadir = @datadir@ libdir = @libdir@ # Where to install and expect libraries like libcruft.a, liboctave.a, # and other architecture-dependent data. octlibdir = @octlibdir@ # Where to install and expect executable programs to be run by Octave # rather than directly by users. libexecdir = @libexecdir@ # The prefix for Octave's include file directory. The default is # ${prefix}/include includedir = @includedir@ # Where to install Octave's man pages, and what extension they should # have. The default is ${prefix}/man/man1 mandir = @mandir@ man1dir = @man1dir@ man1ext = @man1ext@ # Where to install and expect the info files describing Octave.. infodir = @infodir@ # The fill path to the default info file. infofile = @infofile@ # ==================== Octave-specific directories ==================== # These variables hold the values specific to Octave. They are # based on the values of the standard Make variables above. # Where to install Octave's include files (they will actually be # installed in a subdirectory called octave). The default is # ${includedir}/octave-${version} octincludedir = @octincludedir@ # Where to install the function file distributed with # Octave. This includes the Octave version, so that the # function files for different versions of Octave will install # themselves in separate directories. fcnfiledir = @fcnfiledir@ # Directories Octave should search for function files specific # to this site (i.e. customizations), before consulting # ${fcnfiledir}. This should be a colon-separated list of # directories. localfcnfiledir = @localfcnfiledir@ localverfcnfiledir = @localverfcnfiledir@ localfcnfilepath = @localfcnfilepath@ # Where to put executables to be run by Octave rather than # the user. This path usually includes the Octave version # and configuration name, so that multiple configurations # for multiple versions of Octave may be installed at once. archlibdir = @archlibdir@ # Where to put executables to be run by Octave rather than by the # user that are specific to this site. localarchlibdir = @localarchlibdir@ localverarchlibdir = @localverarchlibdir@ # Where to put object files that will by dynamically loaded. # This path usually includes the Octave version and configuration # name, so that multiple configurations for multiple versions of # Octave may be installed at once. octfiledir = @octfiledir@ # Directories Octave should search for object files that will be # dynamically loaded and that are specific to this site # (i.e. customizations), before consulting ${octfiledir}. This should # be a colon-separated list of directories. localoctfiledir = @localoctfiledir@ localveroctfiledir = @localveroctfiledir@ localoctfilepath = @localoctfilepath@ # Where Octave will search to find its function files. Before # changing this, check to see if your purpose wouldn't # better be served by changing localfcnfilepath. This # should be a colon-separated list of directories. fcnfilepath = @fcnfilepath@ # Where Octave will search to find image files.es. imagedir = @imagedir@ imagepath = @imagepath@ # The type of computer we are running on. canonical_host_type = @canonical_host_type@ # The -I flags to use for the mkoctfile script. MKOCTFILE_INCFLAGS = \ -I$(octincludedir) -I$(octincludedir)/octave -I$(includedir) # The -L flags to use for the mkoctfile scrip (for --link-stand-alone) MKOCTFILE_LFLAGS = -L$(octlibdir) # The following pattern rules and the substitution functions require # GNU make. If you don't have it, get it! # Rules for making object files from Fortran source. # # If we are using f2c there will be a command for the `%.c : %.f' # pattern and no command for the `%.o : %.f' pattern, so that make # will not invoke the fortran compiler by mistake. # # If we are not using f2c, it should be ok to have an empty rule for # the pattern `%.c : %.f', but we don't want to replace make's default # rule for making object from Fortran source files, so there should be # no pattern or command for that. @f77_rules_frag@ # How to make .o files: %.o : %.c $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $< -o $@ %.o : %.cc $(CXX) -c $(CPPFLAGS) $(ALL_CXXFLAGS) $< -o $@ pic/%.o : %.c $(CC) -c $(CPPFLAGS) $(CPICFLAG) $(ALL_CFLAGS) $< -o $@ pic/%.o : %.cc $(CXX) -c $(CPPFLAGS) $(CXXPICFLAG) $(ALL_CXXFLAGS) $< -o $@ # Here is a rule for generating dependencies for .cc files: %.d : %.cc @echo making $@ from $< @rm -f $@ @$(CXX) $(DEPEND_FLAGS) $(CPPFLAGS) $(ALL_CXXFLAGS) $< | \ sed \ $(DEPEND_EXTRA_SED_PATTERN) \ -e 's,^[^:]*/\(.*\.o\):,\1:,' \ -e 's,$*\.o,pic/& & $@,g' > $@.tmp @mv $@.tmp $@ # And one for .c files.too: %.d : %.c @echo making $@ from $< @rm -f $@ @$(CC) $(DEPEND_FLAGS) $(CPPFLAGS) $(ALL_CFLAGS) $< | \ sed \ $(DEPEND_EXTRA_SED_PATTERN) \ -e 's,^[^:]*/\(.*\.o\):,\1:,' \ -e 's,$*\.o,pic/& & $@,g' > $@.tmp @mv $@.tmp $@ define do-subdir-for-command echo making $@ in $d; cd $d; $(MAKE) $@; cd ..; endef define subdir-for-command $(foreach d, $(SUBDIRS), $(do-subdir-for-command)) endef # Yes, the second sed command near the end is needed, to avoid limits # in command lengths for some versions of sed. UGLY_DEFS is often # quite large, so it makes sense to split this command there. define do-subst-config-vals echo "making $@ from $<" sed < $< \ -e "s;%OCTAVE_CONF_ALL_CFLAGS%;\"${ALL_CFLAGS}\";" \ -e "s;%OCTAVE_CONF_ALL_CXXFLAGS%;\"${ALL_CXXFLAGS}\";" \ -e "s;%OCTAVE_CONF_ALL_FFLAGS%;\"${ALL_FFLAGS}\";" \ -e "s;%OCTAVE_CONF_ALL_LDFLAGS%;\"${ALL_LDFLAGS}\";" \ -e "s;%OCTAVE_CONF_AR%;\"${AR}\";" \ -e "s;%OCTAVE_CONF_ARFLAGS%;\"${ARFLAGS}\";" \ -e "s;%OCTAVE_CONF_BLAS_LIBS%;\"${BLAS_LIBS}\";" \ -e "s;%OCTAVE_CONF_CANONICAL_HOST_TYPE%;\"${canonical_host_type}\";" \ -e "s;%OCTAVE_CONF_CC%;\"${CC}\";" \ -e "s;%OCTAVE_CONF_CC_VERSION%;\"${CC_VERSION}\";" \ -e "s;%OCTAVE_CONF_CFLAGS%;\"${CFLAGS}\";" \ -e "s;%OCTAVE_CONF_CPICFLAG%;\"${CPICFLAG}\";" \ -e "s;%OCTAVE_CONF_CPPFLAGS%;\"${CPPFLAGS}\";" \ -e "s;%OCTAVE_CONF_CXX%;\"${CXX}\";" \ -e "s;%OCTAVE_CONF_CXXCPP%;\"${CXXCPP}\";" \ -e "s;%OCTAVE_CONF_CXXFLAGS%;\"${CXXFLAGS}\";" \ -e "s;%OCTAVE_CONF_CXXPICFLAG%;\"${CXXPICFLAG}\";" \ -e "s;%OCTAVE_CONF_CXX_VERSION%;\"${CXX_VERSION}\";" \ -e "s;%OCTAVE_CONF_DEFAULT_PAGER%;\"${DEFAULT_PAGER}\";" \ -e "s;%OCTAVE_CONF_DEPEND_FLAGS%;\"${DEPEND_FLAGS}\";" \ -e "s;%OCTAVE_CONF_DEPEND_EXTRA_SED_PATTERN%;\"${DEPEND_EXTRA_SED_PATTERN}\";" \ -e "s;%OCTAVE_CONF_DLFCN_INCFLAGS%;\"${DLFCN_INCFLAGS}\";" \ -e "s;%OCTAVE_CONF_EXEEXT%;\"${EXEEXT}\";" \ -e "s;%OCTAVE_CONF_F2C%;\"${F2C}\";" \ -e "s;%OCTAVE_CONF_F2CFLAGS%;\"${F2CFLAGS}\";" \ -e "s;%OCTAVE_CONF_F77%;\"${F77}\";" \ -e "s;%OCTAVE_CONF_FC%;\"${FC}\";" \ -e "s;%OCTAVE_CONF_FFLAGS%;\"${FFLAGS}\";" \ -e "s;%OCTAVE_CONF_FFTW_LIBS%;\"${FFTW_LIBS}\";" \ -e "s;%OCTAVE_CONF_FLIBS%;\"${FLIBS}\";" \ -e "s;%OCTAVE_CONF_FPICFLAG%;\"${FPICFLAG}\";" \ -e "s;%OCTAVE_CONF_GLOB_INCFLAGS%;\"${GLOB_INCFLAGS}\";" \ -e "s;%OCTAVE_CONF_INCFLAGS%;\"${INCFLAGS}\";" \ -e "s;%OCTAVE_CONF_LD_CXX%;\"${LD_CXX}\";" \ -e "s;%OCTAVE_CONF_LDFLAGS%;\"${LDFLAGS}\";" \ -e "s;%OCTAVE_CONF_LD_STATIC_FLAG%;\"${LD_STATIC_FLAG}\";" \ -e "s;%OCTAVE_CONF_LEX%;\"${LEX}\";" \ -e "s;%OCTAVE_CONF_LEXLIB%;\"${LEXLIB}\";" \ -e "s;%OCTAVE_CONF_LFLAGS%;\"${LFLAGS}\";" \ -e "s;%OCTAVE_CONF_LIBCRUFT%;\"${LIBCRUFT}\";" \ -e "s;%OCTAVE_CONF_LIBDLFCN%;\"${LIBDLFCN}\";" \ -e "s;%OCTAVE_CONF_LIBEXT%;\"${LIBEXT}\";" \ -e "s;%OCTAVE_CONF_LIBFLAGS%;\"${LIBFLAGS}\";" \ -e "s;%OCTAVE_CONF_LIBGLOB%;\"${LIBGLOB}\";" \ -e "s;%OCTAVE_CONF_LIBKPATHSEA%;\"${LIBKPATHSEA}\";" \ -e "s;%OCTAVE_CONF_LIBOCTAVE%;\"${LIBOCTAVE}\";" \ -e "s;%OCTAVE_CONF_LIBOCTINTERP%;\"${LIBOCTINTERP}\";" \ -e "s;%OCTAVE_CONF_LIBOCT_PATHSEARCH%;\"${LIBOCT_PATHSEARCH}\";" \ -e "s;%OCTAVE_CONF_LIBOCT_READLINE%;\"${LIBOCT_READLINE}\";" \ -e "s;%OCTAVE_CONF_LIBPLPLOT%;\"${LIBPLPLOT}\";" \ -e "s;%OCTAVE_CONF_LIBS%;\"${LIBS}\";" \ -e "s;%OCTAVE_CONF_LN_S%;\"${LN_S}\";" \ -e "s;%OCTAVE_CONF_MKOCTFILE_INCFLAGS%;\"${MKOCTFILE_INCFLAGS}\";" \ -e "s;%OCTAVE_CONF_MKOCTFILE_LFLAGS%;\"${MKOCTFILE_LFLAGS}\";" \ -e "s;%OCTAVE_CONF_OCTAVE_LITE%;\"${OCTAVE_LITE}\";" \ -e "s;%OCTAVE_CONF_RANLIB%;\"${RANLIB}\";" \ -e "s;%OCTAVE_CONF_RDYNAMIC_FLAG%;\"${RDYNAMIC_FLAG}\";" \ -e "s;%OCTAVE_CONF_RLD_FLAG%;\"${RLD_FLAG}\";" \ -e "s;%OCTAVE_CONF_RUNTEST%;\"${RUNTEST}\";" \ -e "s;%OCTAVE_CONF_SHARED_LIBS%;\"${SHARED_LIBS}\";" \ -e "s;%OCTAVE_CONF_SHLEXT%;\"${SHLEXT}\";" \ -e "s;%OCTAVE_CONF_SHLEXT_VER%;\"${SHLEXT_VER}\";" \ -e "s;%OCTAVE_CONF_SH_LD%;\"${SH_LD}\";" \ -e "s;%OCTAVE_CONF_SH_LDFLAGS%;\"${SH_LDFLAGS}\";" \ -e "s;%OCTAVE_CONF_SONAME_FLAGS%;\"${SONAME_FLAGS}\";" \ -e "s;%OCTAVE_CONF_STATIC_LIBS%;\"${STATIC_LIBS}\";" \ -e "s;%OCTAVE_CONF_UGLY_DEFS%;\"${UGLY_DEFS}\";" \ -e "s;%OCTAVE_CONF_VERSION%;\"${version}\";" \ -e "s;%OCTAVE_CONF_WITH_DL%;\"${WITH_DL}\";" \ -e "s;%OCTAVE_CONF_WITH_DYNAMIC_LINKING%;\"${WITH_DYNAMIC_LINKING}\";" \ -e "s;%OCTAVE_CONF_WITH_SHL%;\"${WITH_SHL}\";" \ -e "s;%OCTAVE_CONF_XTRA_CFLAGS%;\"${XTRA_CFLAGS}\";" \ -e "s;%OCTAVE_CONF_XTRA_CXXFLAGS%;\"${XTRA_CXXFLAGS}\";" \ -e "s;%OCTAVE_CONF_YACC%;\"${YACC}\";" \ -e "s;%OCTAVE_CONF_YFLAGS%;\"${YFLAGS}\";" \ -e "s;%OCTAVE_CONF_config_opts%;\"${config_opts}\";" | \ sed -e "s;%OCTAVE_CONF_DEFS%;\"${UGLY_DEFS}\";" > $@.tmp $(top_srcdir)/move-if-change $@.tmp $@ endef define do-subst-default-vals echo "making $@ from $<" sed < $< > $@.tmp \ -e "s;%OCTAVE_ARCHLIBDIR%;\"${archlibdir}\";" \ -e "s;%OCTAVE_BINDIR%;\"${bindir}\";" \ -e "s;%OCTAVE_CANONICAL_HOST_TYPE%;\"${canonical_host_type}\";" \ -e "s;%OCTAVE_DATADIR%;\"${datadir}\";" \ -e "s;%OCTAVE_DEFAULT_PAGER%;\"${DEFAULT_PAGER}\";" \ -e "s;%OCTAVE_EXEC_PREFIX%;\"${exec_prefix}\";" \ -e "s;%OCTAVE_FCNFILEDIR%;\"${fcnfiledir}\";" \ -e "s;%OCTAVE_FCNFILEPATH%;\"${fcnfilepath}\";" \ -e "s;%OCTAVE_IMAGEDIR%;\"${imagedir}\";" \ -e "s;%OCTAVE_IMAGEPATH%;\"${imagepath}\";" \ -e "s;%OCTAVE_INCLUDEDIR%;\"${includedir}\";" \ -e "s;%OCTAVE_INFODIR%;\"${infodir}\";" \ -e "s;%OCTAVE_INFOFILE%;\"${infofile}\";" \ -e "s;%OCTAVE_LIBDIR%;\"${libdir}\";" \ -e "s;%OCTAVE_LIBEXECDIR%;\"${libexecdir}\";" \ -e "s;%OCTAVE_LOCALARCHLIBDIR%;\"${localarchlibdir}\";" \ -e "s;%OCTAVE_LOCALFCNFILEDIR%;\"${localfcnfiledir}\";" \ -e "s;%OCTAVE_LOCALFCNFILEPATH%;\"${localfcnfilepath}\";" \ -e "s;%OCTAVE_LOCALOCTFILEDIR%;\"${localoctfiledir}\";" \ -e "s;%OCTAVE_LOCALOCTFILEPATH%;\"${localoctfilepath}\";" \ -e "s;%OCTAVE_LOCALVERARCHLIBDIR%;\"${localverarchlibdir}\";" \ -e "s;%OCTAVE_LOCALVERFCNFILEDIR%;\"${localverfcnfiledir}\";" \ -e "s;%OCTAVE_LOCALVEROCTFILEDIR%;\"${localveroctfiledir}\";" \ -e "s;%OCTAVE_MAN1DIR%;\"${man1dir}\";" \ -e "s;%OCTAVE_MAN1EXT%;\"${man1ext}\";" \ -e "s;%OCTAVE_MANDIR%;\"${mandir}\";" \ -e "s;%OCTAVE_OCTFILEDIR%;\"${octfiledir}\";" \ -e "s;%OCTAVE_OCTINCLUDEDIR%;\"${octincludedir}\";" \ -e "s;%OCTAVE_OCTLIBDIR%;\"${octlibdir}\";" \ -e "s;%OCTAVE_PREFIX%;\"${prefix}\";" \ -e "s;%OCTAVE_VERSION%;\"${version}\";" $(top_srcdir)/move-if-change $@.tmp $@ endef