diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2012-06-24 22:28:35 +0000 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2012-06-24 22:28:35 +0000 |
commit | 3950ffe2a485479f6561c27364d3d7df5a21d124 (patch) | |
tree | 468c6e14449d1b1e279222ec32f676b0311917d2 /src/cmd/INIT/Makefile | |
download | ksh-3950ffe2a485479f6561c27364d3d7df5a21d124.tar.gz |
Imported Upstream version 93u+upstream
Diffstat (limited to 'src/cmd/INIT/Makefile')
-rw-r--r-- | src/cmd/INIT/Makefile | 293 |
1 files changed, 293 insertions, 0 deletions
diff --git a/src/cmd/INIT/Makefile b/src/cmd/INIT/Makefile new file mode 100644 index 0000000..b1af6aa --- /dev/null +++ b/src/cmd/INIT/Makefile @@ -0,0 +1,293 @@ +/* + * initialization for all packages + */ + +:PACKAGE: license=ast + +LICENSE = since=1994,author=gsf + +PACKAGEROOT = $(INSTALLROOT:T=F:P=L*:O=n) + +hurl :: hurl.sh LICENSE=since=2003,author=gsf + +iffe :: iffe.sh LICENSE=since=1994,author=gsf+kpv + +mktest :: mktest.sh LICENSE=since=2005,author=gsf + +package :: package.sh + +regress :: regress.sh LICENSE=since=1995,author=gsf + +rt :: rt.sh LICENSE=since=2005,author=gsf + +$(PACKAGEROOT)/bin :INSTALLDIR: execrate ignore mamprobe package silent + +crossexec :: crossexec.sh + +ditto :: ditto.sh LICENSE=since=2001,author=gsf+ek + +execrate :: execrate.sh LICENSE=since=2002,author=gsf + +filter :: filter.sh + +ignore :: ignore.sh + +silent :: silent.sh + +$(PACKAGEROOT)/lib/package :INSTALLDIR: package.mk CONVERT.mk + +$(LIBDIR)/make :INSTALLDIR: package.mk PROBE.mk TEST.mk WWW.mk \ + MSGFUN.mk MSGKEY.mk MAPLIB.mk + +:TEST: iffe mamake + +cc ld ldd :PACKAGE_INIT: mamake.c proto.c ratz.c release.c + +:: RELEASE hosttype.tst p.c hello.c \ + ar.ibm.risc \ + cc.specialize cc.pentium4 \ + ldd.cygwin.i386 \ + cc.darwin.i386 cc.darwin.i386-64 cc.darwin ldd.darwin \ + cc.hp.ia64 cc.hp.pa cc.hp.pa64 ld.hp.pa ldd.hp.pa \ + cc.ibm.risc cc.ibm.risc.gcc ldd.ibm.risc \ + cc.linux.ia64-icc cc.linux.i386-icc cc.linux.i386-64-icc \ + cc.lynxos.i386 cc.lynxos.ppc ldd.lynxos \ + cc.mvs.390 cc.next.i386 cc.next.m68k ldd.mvs.390 \ + cc.osf.alpha \ + cc.sco.i386 \ + cc.sgi.mips2 cc.sgi.mips3 cc.sgi.mips3-o32 cc.sgi.mips4 \ + cc.sgi.mips4-n32 ldd.sgi \ + cc.unix.mc68k + +LICENSE : .DONTCARE + +if ! CC.HOSTTYPE + CC.HOSTTYPE := $(_hosttype_|HOSTTYPE) +end + +$(BINDIR)/mkdir :INSTALL: mkdir.sh + if test ! -x $(<) -a -x /bin/mkdir + then mkdir -p 2>/dev/null || : + if test -d ./-p + then rmdir ./-p + cp $(*) $(<) + chmod +x $(<) + fi + fi + +/* + * ksh93 function search on PATH + * ksh93 builtin command library -lcmd + * ksh93 ld library path search on PATH + */ + +$(BINDIR)/.paths :INSTALL: (CC.DIALECT) + if test ! -f $(<) -o -w $(<) + then nl=" +" + o=`cat $(<) 2>/dev/null` || : + v= + n= + case $nl$o in + *${nl}FPATH=*|*#FPATH=*|*[Nn][Oo]FPATH=*) + ;; + *) case $n in + '') ;; + *) n="$n$nl" v="$v|" ;; + esac + n="${n}FPATH=../fun" + v="${v}FPATH" + ;; + esac + case $nl$o in + *${nl}BUILTIN_LIB=*|*#BUILTIN_LIB=*|*[Nn][Oo]BUILTIN_LIB=*) + ;; + *) case $n in + '') ;; + *) n="$n$nl" v="$v|" ;; + esac + case '$(CC.DIALECT:N=*EXPORT=[AD]LL*)' in + ?*) p= c= ;; + *) p='XX' ;; + esac + n="${n}${p}BUILTIN_LIB=cmd" + v="${v}BUILTIN_LIB" + ;; + esac + set x x : $(-mam:??$(.GETCONF LIBPATH:/:/ /G:/,/ : /G:Q)?) + p= + while : + do while : + do case $# in + 0) break ;; + esac + x=$1 + shift + case $x in + :) break ;; + esac + done + case $# in + 0|1) break + ;; + 2) p=$2 + ;; + *) case "$(CC.HOSTTYPE)" in + $3) p=$2; break ;; + esac + ;; + esac + done + case $p in + '') if test -x /lib/dld.sl + then p=SHLIB_PATH + elif test -x /usr/lib/dyld + then p=DYLD_LIBRARY_PATH + else case "$(CC.HOSTTYPE)" in + ibm.*|mvs.*) + p=LIBPATH + ;; + sgi.mips3) + p=LD_LIBRARYN32_PATH + ;; + sgi.mips4) + p=LD_LIBRARYN64_PATH + ;; + *) p=LD_LIBRARY_PATH + ;; + esac + fi + ;; + esac + case $nl$o in + *${nl}${p}=*|*#${p}=*|*[Nn][Oo]${p}=*) + ;; + *) case $n in + '') ;; + *) n="$n$nl" v="$v|" ;; + esac + n="${n}${p}=../lib" + v="${v}${p}" + ;; + esac + case $n in + ?*) case $o in + ?*) o=`egrep -v "($v)=" $(<)`$nl ;; + esac + echo "# use { # no NO } prefix instead of XX to permanently disable #$nl$o$n" > $(<) + ;; + esac + fi + +/* + * probe initialization + */ + +for T C+probe C+make+probe.lcl C+pp+probe.lcl + if T == "*.lcl" + $(T) : .DONTCARE + end + $(LIBDIR)/probe/$(T:C,+,/,G) :INSTALL: $(T) +end + +$(LIBDIR)/probe/C/mam/probe :INSTALL: mprobe + +mprobe :: mprobe.sh + +$(LIBDIR)/probe/C/make :INSTALLDIR: probe probe.ini + +probe.sh : C+probe make.probe + cat $(*) > $(<) + +probe :: probe.sh + +probe.ini : (CC.HOSTTYPE) probe.win32 + t=$(CC.HOSTTYPE) + ifs=$IFS + IFS=. + set x $t + IFS=$ifs + t=$2 + set x $(*) + while : + do shift + case $# in + 0) break ;; + esac + case $1 in + *probe.$t) + break + esac + done + case $1 in + ?*) cmp -s $1 $(<) || cp $1 $(<) ;; + *) : > $(<) + esac + +/* + * proto initialization + */ + +$(INCLUDEDIR) :INSTALLDIR: prototyped.h + +prototyped.h : $(BINDIR)/proto + proto -f /dev/null > h.$(tmp).h + if $(CMP) -s h.$(tmp).h $(<) + then $(RM) -f h.$(tmp).h + else $(MV) h.$(tmp).h $(<) + fi + +/* + * check if -ldl is required + * this allows makefiles to use -ldl on all systems + * + * NOTE: this works around the sgi botch: + * (1) irix 5.* made -ldl optional but warned + * (2) irix 6.* has no -ldl + * (3) dynamic progs built on irix 5.* and using -ldl fail + * at runtime on irix 6.* because -ldl is not there + */ + +dl :MAPLIB: dl.c + +/* + * requiring these is a botch + */ + +iconv :MAPLIB: iconv.c + +w :MAPLIB: w.c w2.c + +/* + * miscellaneous -l* checks + */ + +intl :MAPLIB: intl.c + +m :MAPLIB: m.c m2.c m3.c m4.c m5.c m6.c + +nsl :MAPLIB: nsl.c + +/* + * what was sco smoking + * almost all of gethost* are in -lnsl except gethostbyname which + * is in -lsocket which isn't needed to resolve socket() but seems + * to do the -lnsl job + */ + +socket :MAPLIB: socket.c nsl.c + +/* + * more substance abuse + * gdbm's ndbm "compatibility" doesn't supply <ndbm.h>, instead supplies + * <gdbm/ndbm.h> which provides K&R prototypes *and* it requires -lgdbm + * some <ndbm.h> implementations use -lndbm, others -ldbm, still others -lc + * this is why unix is starting to look like windows + * this map allows makefiles to use -ldbm on all systems + * + * and this just in: sometimes its <gdbm-ndbm.h> and possibly -lgdbm_compat + * + * at least the -l* buck stops here + */ + +dbm db - gdbm_compat - gdbm - ndbm - dbm :MAPLIB: db.c gdbm.c gdbm1.c gdbm2.c |