1 #ifndef CONFIG_H 2 #define CONFIG_H 3 4 /** $MirOS: src/usr.bin/make/config.h,v 1.4 2005/12/20 11:22:55 tg Exp $ */ 5 /* $OpenBSD: config.h,v 1.14 2003/06/03 02:56:11 millert Exp $ */ 6 /* $NetBSD: config.h,v 1.7 1996/11/06 17:59:03 christos Exp $ */ 7 8 /* 9 * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. 10 * Copyright (c) 1988, 1989 by Adam de Boor 11 * Copyright (c) 1989 by Berkeley Softworks 12 * All rights reserved. 13 * 14 * This code is derived from software contributed to Berkeley by 15 * Adam de Boor. 16 * 17 * Redistribution and use in source and binary forms, with or without 18 * modification, are permitted provided that the following conditions 19 * are met: 20 * 1. Redistributions of source code must retain the above copyright 21 * notice, this list of conditions and the following disclaimer. 22 * 2. Redistributions in binary form must reproduce the above copyright 23 * notice, this list of conditions and the following disclaimer in the 24 * documentation and/or other materials provided with the distribution. 25 * 3. Neither the name of the University nor the names of its contributors 26 * may be used to endorse or promote products derived from this software 27 * without specific prior written permission. 28 * 29 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 30 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 31 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 32 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 33 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 34 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 35 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 36 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 37 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 38 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 39 * SUCH DAMAGE. 40 * 41 * from: @(#)config.h 8.1 (Berkeley) 6/6/93 42 */ 43 44 #define DEFSHELL 1 /* Bourne shell */ 45 46 /* 47 * DEFMAXJOBS 48 * DEFMAXLOCAL 49 * These control the default concurrency. On no occasion will more 50 * than DEFMAXJOBS targets be created at once (locally or remotely) 51 * DEFMAXLOCAL is the highest number of targets which will be 52 * created on the local machine at once. Note that if you set this 53 * to 0, nothing will ever happen... 54 */ 55 #define DEFMAXJOBS 4 56 #define DEFMAXLOCAL 1 57 58 /* 59 * INCLUDES 60 * LIBRARIES 61 * These control the handling of the .INCLUDES and .LIBS variables. 62 * If INCLUDES is defined, the .INCLUDES variable will be filled 63 * from the search paths of those suffixes which are marked by 64 * .INCLUDES dependency lines. Similarly for LIBRARIES and .LIBS 65 * See suff.c for more details. 66 */ 67 #define INCLUDES 68 #define LIBRARIES 69 70 /* 71 * LIBSUFF 72 * Is the suffix used to denote libraries and is used by the Suff module 73 * to find the search path on which to seek any -l<xx> targets. 74 * 75 * RECHECK 76 * If defined, Make_Update will check a target for its current 77 * modification time after it has been re-made, setting it to the 78 * starting time of the make only if the target still doesn't exist. 79 * Unfortunately, under NFS the modification time often doesn't 80 * get updated in time, so a target will appear to not have been 81 * re-made, causing later targets to appear up-to-date. On systems 82 * that don't have this problem, you should defined this. Under 83 * NFS you probably should not, unless you aren't exporting jobs. 84 */ 85 #define LIBSUFF ".a" 86 #define RECHECK 87 88 /* 89 * SYSVINCLUDE 90 * Recognize system V like include directives [include "filename"] 91 * SYSVVARSUB 92 * Recognize system V like ${VAR:x=y} variable substitutions 93 */ 94 #define SYSVINCLUDE 95 #define SYSVVARSUB 96 97 /* 98 * SUNSHCMD 99 * Recognize SunOS and Solaris: 100 * VAR :sh= CMD # Assign VAR to the command substitution of CMD 101 * ${VAR:sh} # Return the command substitution of the value 102 * # of ${VAR} 103 */ 104 #define SUNSHCMD 105 106 #if !defined(__svr4__) && !defined(__SVR4) && !defined(__ELF__) 107 # ifndef RANLIBMAG 108 # define RANLIBMAG "__.SYMDEF" 109 # endif 110 #endif 111 112 #ifdef __OpenBSD__ 113 #ifndef HAS_EXTENDED_GETCWD 114 #define HAS_EXTENDED_GETCWD 115 #endif 116 #endif 117 118 #ifdef HAS_EXTENDED_GETCWD 119 #define dogetcwd() getcwd(NULL, 0) 120 #else 121 #define dogetcwd() getcwd(emalloc(PATH_MAX), PATH_MAX) 122 #endif 123 124 #ifdef SYSVINCLUDE 125 #define DOFEATURE_SYSVINCLUDE FEATURE_SYSVINCLUDE 126 #else 127 #define DOFEATURE_SYSVINCLUDE 0 128 #endif 129 #ifdef SYSVVARSUB 130 #define DOFEATURE_SYSVVARSUB FEATURE_SYSVVARSUB 131 #else 132 #define DOFEATURE_SYSVVARSUB 0 133 #endif 134 #ifdef SUNSHCMD 135 #define DOFEATURE_SUNSHCMD FEATURE_SUNSHCMD 136 #else 137 #define DOFEATURE_SUNSHCMD 0 138 #endif 139 140 #ifndef DEFAULT_FEATURES 141 #define DEFAULT_FEATURES (FEATURE_UPPERLOWER | DOFEATURE_SYSVVARSUB | DOFEATURE_SYSVINCLUDE | DOFEATURE_SUNSHCMD | FEATURE_RECVARS) 142 #endif 143 144 #define FEATURES(x) ((DEFAULT_FEATURES & (x)) != 0) 145 #define FEATURE_ODE 1 146 #define FEATURE_UNIQ 2 147 #define FEATURE_SORT 4 148 #define FEATURE_UPPERLOWER 8 149 #define FEATURE_SYSVVARSUB 16 150 #define FEATURE_SYSVINCLUDE 32 151 #define FEATURE_SUNSHCMD 64 152 #define FEATURE_RECVARS 128 153 #define FEATURE_CONDINCLUDE 256 154 #define FEATURE_ASSIGN 512 155 #define FEATURE_EXECMOD 1024 156 157 /* 158 * There are several places where expandable buffers are used (parse.c and 159 * var.c). This constant is merely the starting point for those buffers. If 160 * lines tend to be much shorter than this, it would be best to reduce BSIZE. 161 * If longer, it should be increased. Reducing it will cause more copying to 162 * be done for longer lines, but will save space for shorter ones. In any 163 * case, it ought to be a power of two simply because most storage allocation 164 * schemes allocate in powers of two. 165 */ 166 #define MAKE_BSIZE 256 /* starting size for expandable buffers */ 167 168 #endif 169