2 * initialization for
all packages
6 SILENT
= /* this component builds silent
-- this prevents us from using it while building it
*/
8 :PACKAGE
: license
=$(ID
)
10 LICENSE
= since
=1994,author
=gsf
12 PACKAGEROOT
= $(INSTALLROOT
:T
=F
:P
=L
*:O
=n
)
14 hurl
:: hurl.sh LICENSE
=since
=2003,author
=gsf
16 iffe
:: iffe.sh LICENSE
=since
=1994,author
=gsf
+kpv
18 mktest
:: mktest.sh LICENSE
=since
=2005,author
=gsf
22 regress
:: regress.sh LICENSE
=since
=1995,author
=gsf
24 rt
:: rt.sh LICENSE
=since
=2005,author
=gsf
26 $(PACKAGEROOT
)/bin
:INSTALLDIR
: execrate ignore mamprobe package silent
28 crossexec
:: crossexec.sh
30 ditto
:: ditto.sh LICENSE
=since
=2001,author
=gsf
+ek
32 execrate
:: execrate.sh LICENSE
=since
=2002,author
=gsf
40 $(PACKAGEROOT
)/lib
/package
:INSTALLDIR
: package.mk CONVERT.mk
42 $(LIBDIR
)/make
:INSTALLDIR
: package.mk PROBE.mk TEST.mk WWW.mk \
43 MSGFUN.mk MSGKEY.mk MAPLIB.mk
47 cc ld ldd
:PACKAGE_INIT
: mamake.c proto.c ratz.c release.c
49 :: RELEASE hosttype.tst p.c hello.c \
50 cc.specialize
cc.pentium4 \
52 cc.darwin.i386
cc.darwin.i386-64
cc.darwin ldd.darwin \
53 cc.hp.ia64
cc.hp.pa
cc.hp.pa64
ld.hp.pa ldd.hp.pa \
54 cc.ibm.risc
cc.ibm.risc.gcc ldd.ibm.risc \
55 cc.linux.ia64-icc
cc.linux.i386-icc
cc.linux.i386-64-icc \
56 cc.lynxos.i386
cc.lynxos.ppc ldd.lynxos \
57 cc.mvs
.390 cc.next.i386
cc.next.m68k ldd.mvs
.390 \
60 cc.sgi.mips2
cc.sgi.mips3
cc.sgi.mips3-o32
cc.sgi.mips4 \
61 cc.sgi.mips4-n32 ldd.sgi \
67 CC.HOSTTYPE
:= $(_hosttype_|HOSTTYPE
)
70 $(BINDIR
)/mkdir
:INSTALL
: mkdir.sh
71 if
test ! -x
$(<) -a
-x
/bin
/mkdir
72 then mkdir
-p
2>/dev
/null ||
:
81 * ksh93 function search on PATH
82 * ksh93 builtin command library
-lcmd
83 * ksh93
ld library path search on PATH
86 $(BINDIR
)/.paths
:INSTALL
: (CC.DIALECT
)
87 if
test ! -f
$(<) -o
-w
$(<)
90 P
="$(-mam:??$(.GETCONF LIBPATH:/:/ /G:/,/ : /G:Q)?)"
91 a
= b
= f
= h
= l
= n
= p
= u
= B
= L
=
113 *\
$\
(\"*) break
# to fix 2012-06-18 edit botch #
166 '') h
='# use { no NO } prefix to permanently disable #' ;;
194 '') if
test -x
/lib
/dld.sl
196 elif
test -x
/usr
/lib
/dyld
197 then l
=DYLD_LIBRARY_PATH
225 '') p
="PLUGIN_LIB=cmd"
226 case
'$(CC.DIALECT:N=*EXPORT=[AD]LL*)' in
236 echo
"$h$N$a$N$p$N$f$N$l$u" > $(<)
242 * probe initialization
245 for T C
+probe C
+make
+probe.lcl C
+pp
+probe.lcl
249 $(LIBDIR
)/probe
/$(T
:C
,+,/,G
) :INSTALL
: $(T
)
252 $(LIBDIR
)/probe
/C
/mam
/probe
:INSTALL
: mprobe
256 $(LIBDIR
)/probe
/C
/make
:INSTALLDIR
: probe probe.ini
258 probe.sh
: C
+probe make.probe
263 probe.ini
: (CC.HOSTTYPE
) probe.win32
282 ?
*) cmp
-s
$1 $(<) || cp
$1 $(<) ;;
287 * proto initialization
290 $(INCLUDEDIR
)/$(ID
) :INSTALLDIR
: prototyped.h
292 prototyped.h
: $(BINDIR
)/proto
293 proto
-f
/dev
/null
> h.
$(tmp
).h
294 if
$(CMP
) -s h.
$(tmp
).h
$(<)
295 then
$(RM
) -f h.
$(tmp
).h
296 else $(MV
) h.
$(tmp
).h
$(<)
300 * check if
-ldl is required
301 * this allows makefiles to use
-ldl on
all systems
303 * NOTE
: this works around the sgi botch
:
304 * (1) irix
5.
* made
-ldl optional but warned
305 * (2) irix
6.
* has no
-ldl
306 * (3) dynamic progs built on irix
5.
* and using
-ldl fail
307 * at runtime on irix
6.
* because
-ldl is not there
313 * requiring these is a botch
316 iconv
:MAPLIB
: iconv.c
321 * miscellaneous
-l
* checks
326 m
:MAPLIB
: m.c m2.c m3.c m4.c m5.c m6.c
329 * what was sco smoking
330 * almost
all of gethost
* are in
-lnsl except gethostbyname which
331 * is in
-lsocket which isn
't needed to resolve socket() but seems
332 * to do the -lnsl job
335 socket socket - socket nsl :MAPLIB: socket.c
338 * more substance abuse
339 * gdbm's ndbm
"compatibility" doesn
't supply <ndbm.h>, instead supplies
340 * <gdbm/ndbm.h> which provides K&R prototypes *and* it requires -lgdbm
341 * some <ndbm.h> implementations use -lndbm, others -ldbm, still others -lc
342 * this is why unix is starting to look like windows
343 * this map allows makefiles to use -ldbm on all systems
345 * and this just in: sometimes its <gdbm-ndbm.h> and possibly -lgdbm_compat
347 * at least the -l* buck stops here
350 dbm db - gdbm_compat - gdbm - ndbm - dbm :MAPLIB: db.c gdbm.c gdbm1.c gdbm2.c