Home | History | Annotate | Line # | Download | only in make
config.h revision 1.26
      1  1.26    rillig /*	$NetBSD: config.h,v 1.26 2020/11/29 09:27:40 rillig Exp $	*/
      2   1.4  christos 
      3   1.1       cgd /*
      4   1.1       cgd  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
      5  1.16       agc  *
      6  1.16       agc  * This code is derived from software contributed to Berkeley by
      7  1.16       agc  * Adam de Boor.
      8  1.16       agc  *
      9  1.16       agc  * Redistribution and use in source and binary forms, with or without
     10  1.16       agc  * modification, are permitted provided that the following conditions
     11  1.16       agc  * are met:
     12  1.16       agc  * 1. Redistributions of source code must retain the above copyright
     13  1.16       agc  *    notice, this list of conditions and the following disclaimer.
     14  1.16       agc  * 2. Redistributions in binary form must reproduce the above copyright
     15  1.16       agc  *    notice, this list of conditions and the following disclaimer in the
     16  1.16       agc  *    documentation and/or other materials provided with the distribution.
     17  1.16       agc  * 3. Neither the name of the University nor the names of its contributors
     18  1.16       agc  *    may be used to endorse or promote products derived from this software
     19  1.16       agc  *    without specific prior written permission.
     20  1.16       agc  *
     21  1.16       agc  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     22  1.16       agc  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23  1.16       agc  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24  1.16       agc  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     25  1.16       agc  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     26  1.16       agc  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     27  1.16       agc  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     28  1.16       agc  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     29  1.16       agc  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     30  1.16       agc  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     31  1.16       agc  * SUCH DAMAGE.
     32  1.16       agc  *
     33  1.16       agc  *	from: @(#)config.h	8.1 (Berkeley) 6/6/93
     34  1.16       agc  */
     35  1.16       agc 
     36  1.16       agc /*
     37   1.1       cgd  * Copyright (c) 1988, 1989 by Adam de Boor
     38   1.1       cgd  * Copyright (c) 1989 by Berkeley Softworks
     39   1.1       cgd  * All rights reserved.
     40   1.1       cgd  *
     41   1.1       cgd  * This code is derived from software contributed to Berkeley by
     42   1.1       cgd  * Adam de Boor.
     43   1.1       cgd  *
     44   1.1       cgd  * Redistribution and use in source and binary forms, with or without
     45   1.1       cgd  * modification, are permitted provided that the following conditions
     46   1.1       cgd  * are met:
     47   1.1       cgd  * 1. Redistributions of source code must retain the above copyright
     48   1.1       cgd  *    notice, this list of conditions and the following disclaimer.
     49   1.1       cgd  * 2. Redistributions in binary form must reproduce the above copyright
     50   1.1       cgd  *    notice, this list of conditions and the following disclaimer in the
     51   1.1       cgd  *    documentation and/or other materials provided with the distribution.
     52   1.1       cgd  * 3. All advertising materials mentioning features or use of this software
     53   1.1       cgd  *    must display the following acknowledgement:
     54   1.1       cgd  *	This product includes software developed by the University of
     55   1.1       cgd  *	California, Berkeley and its contributors.
     56   1.1       cgd  * 4. Neither the name of the University nor the names of its contributors
     57   1.1       cgd  *    may be used to endorse or promote products derived from this software
     58   1.1       cgd  *    without specific prior written permission.
     59   1.1       cgd  *
     60   1.1       cgd  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     61   1.1       cgd  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     62   1.1       cgd  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     63   1.1       cgd  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     64   1.1       cgd  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     65   1.1       cgd  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     66   1.1       cgd  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     67   1.1       cgd  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     68   1.1       cgd  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     69   1.1       cgd  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     70   1.1       cgd  * SUCH DAMAGE.
     71   1.1       cgd  *
     72   1.7  christos  *	from: @(#)config.h	8.1 (Berkeley) 6/6/93
     73   1.1       cgd  */
     74   1.1       cgd 
     75   1.1       cgd /*
     76   1.1       cgd  * DEFMAXJOBS
     77   1.1       cgd  * DEFMAXLOCAL
     78   1.1       cgd  *	These control the default concurrency. On no occasion will more
     79  1.23    rillig  *	than DEFMAXJOBS targets be created at once (locally or remotely).
     80  1.23    rillig  *
     81   1.1       cgd  *	DEFMAXLOCAL is the highest number of targets which will be
     82   1.1       cgd  *	created on the local machine at once. Note that if you set this
     83  1.23    rillig  *	to 0, nothing will ever happen.
     84   1.1       cgd  */
     85   1.1       cgd #define DEFMAXJOBS	4
     86   1.1       cgd #define DEFMAXLOCAL	1
     87   1.1       cgd 
     88   1.1       cgd /*
     89   1.1       cgd  * INCLUDES
     90   1.1       cgd  * LIBRARIES
     91   1.1       cgd  *	These control the handling of the .INCLUDES and .LIBS variables.
     92  1.23    rillig  *
     93   1.1       cgd  *	If INCLUDES is defined, the .INCLUDES variable will be filled
     94   1.1       cgd  *	from the search paths of those suffixes which are marked by
     95  1.23    rillig  *	.INCLUDES dependency lines. Similarly for LIBRARIES and .LIBS.
     96  1.23    rillig  *
     97  1.23    rillig  *	See varname-dot-include.mk and varname-dot-libs.mk for more details.
     98   1.1       cgd  */
     99   1.1       cgd #define INCLUDES
    100   1.1       cgd #define LIBRARIES
    101   1.1       cgd 
    102   1.1       cgd /*
    103   1.1       cgd  * LIBSUFF
    104   1.1       cgd  *	Is the suffix used to denote libraries and is used by the Suff module
    105   1.1       cgd  *	to find the search path on which to seek any -l<xx> targets.
    106  1.22    rillig  */
    107  1.26    rillig #define LIBSUFF	".a"
    108  1.22    rillig 
    109  1.22    rillig /*
    110   1.1       cgd  * RECHECK
    111   1.1       cgd  *	If defined, Make_Update will check a target for its current
    112   1.1       cgd  *	modification time after it has been re-made, setting it to the
    113   1.1       cgd  *	starting time of the make only if the target still doesn't exist.
    114  1.23    rillig  *
    115   1.1       cgd  *	Unfortunately, under NFS the modification time often doesn't
    116   1.1       cgd  *	get updated in time, so a target will appear to not have been
    117  1.23    rillig  *	re-made, causing later targets to appear up-to-date.
    118  1.23    rillig  *
    119  1.23    rillig  *	On systems that don't have this problem, you should define this.
    120  1.23    rillig  *	Under NFS you probably should not, unless you aren't exporting jobs.
    121   1.1       cgd  */
    122  1.26    rillig #define RECHECK
    123   1.6  christos 
    124   1.6  christos /*
    125   1.6  christos  * POSIX
    126   1.6  christos  *	Adhere to the POSIX 1003.2 draft for the make(1) program.
    127   1.6  christos  *	- Use MAKEFLAGS instead of MAKE to pick arguments from the
    128   1.6  christos  *	  environment.
    129   1.6  christos  *	- Allow empty command lines if starting with tab.
    130   1.6  christos  */
    131   1.6  christos #define POSIX
    132   1.6  christos 
    133   1.6  christos /*
    134   1.7  christos  * SYSVINCLUDE
    135   1.6  christos  *	Recognize system V like include directives [include "filename"]
    136  1.25    rillig  *	(required by POSIX 2018)
    137   1.6  christos  * SYSVVARSUB
    138   1.6  christos  *	Recognize system V like ${VAR:x=y} variable substitutions
    139  1.25    rillig  *	(required by POSIX 2018)
    140   1.6  christos  */
    141   1.7  christos #define SYSVINCLUDE
    142   1.6  christos #define SYSVVARSUB
    143   1.6  christos 
    144   1.6  christos /*
    145  1.21  christos  * GMAKEEXPORT
    146  1.21  christos  *	Recognize gmake like variable export directives [export <VAR>=<VALUE>]
    147  1.21  christos  */
    148  1.21  christos #define GMAKEEXPORT
    149  1.21  christos 
    150  1.21  christos /*
    151   1.6  christos  * SUNSHCMD
    152   1.6  christos  *	Recognize SunOS and Solaris:
    153   1.6  christos  *		VAR :sh= CMD	# Assign VAR to the command substitution of CMD
    154   1.6  christos  *		${VAR:sh}	# Return the command substitution of the value
    155   1.6  christos  *				# of ${VAR}
    156   1.6  christos  */
    157   1.6  christos #define SUNSHCMD
    158  1.10  christos 
    159  1.17      ross #if defined(MAKE_NATIVE) && !defined(__ELF__)
    160   1.5  christos # ifndef RANLIBMAG
    161   1.5  christos #  define RANLIBMAG "__.SYMDEF"
    162   1.5  christos # endif
    163   1.3       cgd #endif
    164