1/* 2 * initialization for all packages 3 */ 4 5LICENSE = since=1994,author=gsf 6 7PACKAGEROOT = $(INSTALLROOT:T=F:P=L*:O=n) 8 9hurl :: hurl.sh LICENSE=since=2003,author=gsf 10 11iffe :: iffe.sh LICENSE=since=1994,author=gsf+kpv 12 13mktest :: mktest.sh LICENSE=since=2005,author=gsf 14 15package :: package.sh 16 17regress :: regress.sh LICENSE=since=1995,author=gsf 18 19rt :: rt.sh LICENSE=since=2005,author=gsf 20 21$(PACKAGEROOT)/bin :INSTALLDIR: execrate ignore mamprobe package silent 22 23crossexec :: crossexec.sh 24 25ditto :: ditto.sh LICENSE=since=2001,author=gsf+ek 26 27execrate :: execrate.sh LICENSE=since=2002,author=gsf 28 29filter :: filter.sh 30 31ignore :: ignore.sh 32 33silent :: silent.sh 34 35$(PACKAGEROOT)/lib/package :INSTALLDIR: package.mk CONVERT.mk 36 37$(LIBDIR)/make :INSTALLDIR: package.mk PROBE.mk TEST.mk WWW.mk \ 38 MSGFUN.mk MSGKEY.mk MAPLIB.mk 39 40:TEST: iffe mamake 41 42cc ld ldd :PACKAGE_INIT: mamake.c proto.c ratz.c release.c 43 44:: RELEASE hosttype.tst p.c hello.c \ 45 ar.ibm.risc \ 46 cc.specialize cc.pentium4 \ 47 ldd.cygwin.i386 \ 48 cc.darwin ldd.darwin \ 49 cc.hp.ia64 cc.hp.pa cc.hp.pa64 ld.hp.pa ldd.hp.pa \ 50 cc.ibm.risc ldd.ibm.risc \ 51 cc.linux.ia64-icc \ 52 cc.lynxos.i386 cc.lynxos.ppc ldd.lynxos \ 53 cc.mvs.390 cc.next.i386 cc.next.m68k ldd.mvs.390 \ 54 cc.osf.alpha \ 55 cc.sco.i386 \ 56 cc.sgi.mips2 cc.sgi.mips3 cc.sgi.mips3-o32 cc.sgi.mips4 \ 57 cc.sgi.mips4-n32 ldd.sgi \ 58 cc.unix.mc68k 59 60LICENSE : .DONTCARE 61 62if ! CC.HOSTTYPE 63 CC.HOSTTYPE := $(_hosttype_|HOSTTYPE) 64end 65 66$(BINDIR)/mkdir :INSTALL: mkdir.sh 67 if test ! -x $(<) -a -x /bin/mkdir 68 then mkdir -p 2>/dev/null || : 69 if test -d ./-p 70 then rmdir ./-p 71 cp $(*) $(<) 72 chmod +x $(<) 73 fi 74 fi 75 76/* 77 * ksh93 function search on PATH 78 * ksh93 builtin command library -lcmd 79 * ksh93 ld library path search on PATH 80 */ 81 82$(BINDIR)/.paths :INSTALL: (CC.DIALECT) 83 if test ! -f $(<) -o -w $(<) 84 then nl=" 85" 86 o=`cat $(<) 2>/dev/null` || : 87 v= 88 n= 89 case $nl$o in 90 *${nl}FPATH=*|*#FPATH=*|*[Nn][Oo]FPATH=*) 91 ;; 92 *) case $n in 93 '') ;; 94 *) n="$n$nl" v="$v|" ;; 95 esac 96 n="${n}FPATH=../fun" 97 v="${v}FPATH" 98 ;; 99 esac 100 case $nl$o in 101 *${nl}BUILTIN_LIB=*|*#BUILTIN_LIB=*|*[Nn][Oo]BUILTIN_LIB=*) 102 ;; 103 *) case $n in 104 '') ;; 105 *) n="$n$nl" v="$v|" ;; 106 esac 107 case '$(CC.DIALECT:N=*EXPORT=[AD]LL*)' in 108 ?*) p= c= ;; 109 *) p='XX' ;; 110 esac 111 n="${n}${p}BUILTIN_LIB=cmd" 112 v="${v}BUILTIN_LIB" 113 ;; 114 esac 115 set x x : $(-mam:??$(.GETCONF LIBPATH:/:/ /G:/,/ : /G:Q)?) 116 p= 117 while : 118 do while : 119 do case $# in 120 0) break ;; 121 esac 122 x=$1 123 shift 124 case $x in 125 :) break ;; 126 esac 127 done 128 case $# in 129 0|1) break 130 ;; 131 2) p=$2 132 ;; 133 *) case "$(CC.HOSTTYPE)" in 134 $3) p=$2; break ;; 135 esac 136 ;; 137 esac 138 done 139 case $p in 140 '') if test -x /lib/dld.sl 141 then p=SHLIB_PATH 142 elif test -x /usr/lib/dyld 143 then p=DYLD_LIBRARY_PATH 144 else case "$(CC.HOSTTYPE)" in 145 ibm.*|mvs.*) 146 p=LIBPATH 147 ;; 148 sgi.mips3) 149 p=LD_LIBRARYN32_PATH 150 ;; 151 sgi.mips4) 152 p=LD_LIBRARYN64_PATH 153 ;; 154 *) p=LD_LIBRARY_PATH 155 ;; 156 esac 157 fi 158 ;; 159 esac 160 case $nl$o in 161 *${nl}${p}=*|*#${p}=*|*[Nn][Oo]${p}=*) 162 ;; 163 *) case $n in 164 '') ;; 165 *) n="$n$nl" v="$v|" ;; 166 esac 167 n="${n}${p}=../lib" 168 v="${v}${p}" 169 ;; 170 esac 171 case $n in 172 ?*) case $o in 173 ?*) o=`egrep -v "($v)=" $(<)`$nl ;; 174 esac 175 echo "# use { # no NO } prefix instead of XX to permanently disable #$nl$o$n" > $(<) 176 ;; 177 esac 178 fi 179 180/* 181 * probe initialization 182 */ 183 184for T C+probe C+make+probe.lcl C+pp+probe.lcl 185 if T == "*.lcl" 186 $(T) : .DONTCARE 187 end 188 $(LIBDIR)/probe/$(T:C,+,/,G) :INSTALL: $(T) 189end 190 191$(LIBDIR)/probe/C/mam/probe :INSTALL: mprobe 192 193mprobe :: mprobe.sh 194 195$(LIBDIR)/probe/C/make :INSTALLDIR: probe probe.ini 196 197probe.sh : C+probe make.probe 198 cat $(*) > $(<) 199 200probe :: probe.sh 201 202probe.ini : (CC.HOSTTYPE) probe.win32 203 t=$(CC.HOSTTYPE) 204 ifs=$IFS 205 IFS=. 206 set x $t 207 IFS=$ifs 208 t=$2 209 set x $(*) 210 while : 211 do shift 212 case $# in 213 0) break ;; 214 esac 215 case $1 in 216 *probe.$t) 217 break 218 esac 219 done 220 case $1 in 221 ?*) cmp -s $1 $(<) || cp $1 $(<) ;; 222 *) : > $(<) 223 esac 224 225/* 226 * proto initialization 227 */ 228 229$(INCLUDEDIR) :INSTALLDIR: prototyped.h 230 231prototyped.h : $(BINDIR)/proto 232 proto -f /dev/null > h.$(tmp).h 233 if $(CMP) -s h.$(tmp).h $(<) 234 then $(RM) -f h.$(tmp).h 235 else $(MV) h.$(tmp).h $(<) 236 fi 237 238/* 239 * check if -ldl is required 240 * this allows makefiles to use -ldl on all systems 241 * 242 * NOTE: this works around the sgi botch: 243 * (1) irix 5.* made -ldl optional but warned 244 * (2) irix 6.* has no -ldl 245 * (3) dynamic progs built on irix 5.* and using -ldl fail 246 * at runtime on irix 6.* because -ldl is not there 247 */ 248 249dl :MAPLIB: dl.c 250 251/* 252 * requiring these is a botch 253 */ 254 255iconv :MAPLIB: iconv.c 256 257w :MAPLIB: w.c w2.c 258 259/* 260 * miscellaneous -l* checks 261 */ 262 263intl :MAPLIB: intl.c 264 265m :MAPLIB: m.c m2.c m3.c m4.c m5.c m6.c 266 267nsl :MAPLIB: nsl.c 268 269/* 270 * what was sco smoking 271 * almost all of gethost* are in -lnsl except gethostbyname which 272 * is in -lsocket which isn't needed to resolve socket() but seems 273 * to do the -lnsl job 274 */ 275 276socket :MAPLIB: socket.c nsl.c 277 278/* 279 * more substance abuse 280 * gdbm's ndbm "compatibility" doesn't supply <ndbm.h>, instead supplies 281 * <gdbm/ndbm.h> which provides K&R prototypes *and* it requires -lgdbm 282 * some <ndbm.h> implementations use -lndbm, others -ldbm, still others -lc 283 * this is why unix is starting to look like windows 284 * this map allows makefiles to use -ldbm on all systems 285 * 286 * and this just in: sometimes its <gdbm-ndbm.h> and possibly -lgdbm_compat 287 * 288 * at least the -l* buck stops here 289 */ 290 291dbm db - gdbm_compat - gdbm - ndbm - dbm :MAPLIB: db.c gdbm.c gdbm1.c gdbm2.c 292