2 # $FreeBSD: src/tools/tools/tcl_bmake/mkMakefile.sh,v 1.30 1999/08/28 00:54:33 peter Exp $
3 # $DragonFly: src/tools/tools/tcl_bmake/Attic/mkMakefile.sh,v 1.2 2003/06/17 04:29:11 dillon Exp $
5 # This script generates a bmake Makefile for src/lib/libtcl
10 # SETME: what versions the shared library should have.
14 # SETME: where is the tcl stuff relative to this script
15 SRCDIR=../../../contrib/tcl
17 # SETME: where is the tcl stuff relative to src/lib/libtcl
18 LIBTCL=../../../lib/libtcl/
22 (cd ${SRCDIR}/unix ; sh configure --enable-shared --prefix=/usr) || true
24 echo "include ${SRCDIR}/unix/Makefile" > m.x
29 @echo ${AC_FLAGS} -DTCL_SHLIB_EXT=\\\"${SHLIB_SUFFIX}\\\"
32 # Put a RCS Id in the file, but not the one from this file :-)
33 if [ -f ${LIBTCL}Makefile ]; then
34 rcsid=`head -1 ${LIBTCL}Makefile`
35 echo "${rcsid}" > ${LIBTCL}Makefile
37 echo -n '# $' > ${LIBTCL}Makefile
38 echo -n 'Id' >> ${LIBTCL}Makefile
39 echo '$' >> ${LIBTCL}Makefile
44 # This file is generated automatically, do not edit it here!
46 # Please change src/tools/tools/tcl_bmake/mkMakefile.sh instead
48 # Generated by src/tools/tools/tcl_bmake/mkMakefile.sh version:
49 # $FreeBSD: src/tools/tools/tcl_bmake/mkMakefile.sh,v 1.30 1999/08/28 00:54:33 peter Exp $
51 ' | tr -d '$' >> ${LIBTCL}Makefile
53 # Tell make(1) to pick up stuff from here
54 echo 'TCLDIST=${.CURDIR}/../../contrib/tcl' >> ${LIBTCL}Makefile
56 echo >> ${LIBTCL}Makefile
58 echo '.PATH: ${TCLDIST}/generic' >> ${LIBTCL}Makefile
59 echo '.PATH: ${TCLDIST}/unix' >> ${LIBTCL}Makefile
60 echo '.PATH: ${TCLDIST}/doc' >> ${LIBTCL}Makefile
62 echo >> ${LIBTCL}Makefile
64 # Tell cpp(1) to pick up stuff from here
65 echo 'CFLAGS+= -I${TCLDIST}/generic' >> ${LIBTCL}Makefile
66 echo 'CFLAGS+= -I${TCLDIST}/unix' >> ${LIBTCL}Makefile
68 echo >> ${LIBTCL}Makefile
70 # Pick up some more global info
71 echo "TCL_LIBRARY= /usr/libdata/tcl" >> ${LIBTCL}Makefile
72 echo "SHLIB_MAJOR= ${SHLIB_MAJOR}" >> ${LIBTCL}Makefile
73 echo "SHLIB_MINOR= ${SHLIB_MINOR}" >> ${LIBTCL}Makefile
75 # Set the name of the library
78 ' >> ${LIBTCL}Makefile
81 echo "CFLAGS+=" `make -f m.x bar` >> ${LIBTCL}Makefile
83 # some more needed CFLAGS
84 echo "CFLAGS+= -DTCL_LIBRARY=\\\"\${TCL_LIBRARY}\\\"" >> ${LIBTCL}Makefile
85 echo "CFLAGS+= -DTCL_PACKAGE_PATH=\\\"/usr/libdata/tcl\\\"" >> ${LIBTCL}Makefile
90 ' >> ${LIBTCL}Makefile
93 make -f m.x foo | fmt 60 65 | sed '
99 ' >> ${LIBTCL}Makefile
102 beforeinstall: installhdrs
103 ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 \
104 ${TCLDIST}/library/tclIndex ${DESTDIR}${TCL_LIBRARY}
105 ( cd ${TCLDIST}/library && \
106 for e in . http1.0 ; do \
107 ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 \
108 $$e/*.tcl ${DESTDIR}${TCL_LIBRARY}/$$e ; \
110 ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 \
111 ${TCLDIST}/doc/man.macros ${DESTDIR}/usr/share/tmac/tcl.macros
114 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
115 ${TCLDIST}/generic/tcl.h ${DESTDIR}/usr/include/tcl
116 ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 \
117 ${TCLDIST}/unix/tclAppInit.c ${DESTDIR}${TCL_LIBRARY}
119 MANFILTER=sed "/\.so *man.macros/s;.*;.so /usr/share/tmac/tcl.macros;"
120 ' >> ${LIBTCL}Makefile
123 (cd ${SRCDIR}/doc; echo *.n) | fmt 60 65 | sed '
128 ' >> ${LIBTCL}Makefile
130 echo >> ${LIBTCL}Makefile
133 for i in ${SRCDIR}/doc/*.3
141 done | fmt 60 65 | sed '
146 ' >> ${LIBTCL}Makefile
148 echo >> ${LIBTCL}Makefile
150 for i in ${SRCDIR}/doc/*.3
160 for (i = 2 ; i <= NF ; i++)
161 print "MLINKS+= " $1 ".3 " $i ".3 "
163 ' >> ${LIBTCL}Makefile
167 # Ugly, I know, but what else can I do?!?' >> ${LIBTCL}Makefile
169 for i in ${SRCDIR}/doc/*.3
177 ' | awk '{ print "TCLMAN+= " $1 ".3 " B ".3" }' B=`basename $i .3`
178 done >> ${LIBTCL}Makefile
180 cat << 'EOF' >> ${LIBTCL}Makefile
184 .for _tclpage in ${TCLMAN}
186 _tcltmp:= ${_tcltmp} ${_tclprev} # assign with expansion
187 ${_tclprev}: ${TCLDIST}/doc/${_tclpage}
188 cp -f ${.ALLSRC} ${.TARGET}
194 CLEANFILES+= ${_tcltmp}
196 .include <bsd.lib.mk>
199 rm -f m.x ${SRCDIR}/unix/config.log ${SRCDIR}/unix/Makefile \
200 ${SRCDIR}/unix/config.cache ${SRCDIR}/unix/config.status \
201 ${SRCDIR}/unix/tclConfig.sh