Nuke src/tools/tools/epfe. The script is useless because we don't have
[dragonfly.git] / tools / tools / tcl_bmake / mkMakefile.sh
blob941fc1c38790ee3069b3a91c057f199063ef54ae
1 #! /bin/sh
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
8 set -e
10 # SETME: what versions the shared library should have.
11 SHLIB_MAJOR=80
12 SHLIB_MINOR=4
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/
20 mkdir -p ${LIBTCL}
22 (cd ${SRCDIR}/unix ; sh configure --enable-shared --prefix=/usr) || true
24 echo "include ${SRCDIR}/unix/Makefile" > m.x
25 echo '
26 foo:
27 @echo ${OBJS}
28 bar:
29 @echo ${AC_FLAGS} -DTCL_SHLIB_EXT=\\\"${SHLIB_SUFFIX}\\\"
30 ' >> m.x
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
36 else
37 echo -n '# $' > ${LIBTCL}Makefile
38 echo -n 'Id' >> ${LIBTCL}Makefile
39 echo '$' >> ${LIBTCL}Makefile
42 # Tell 'em !
43 echo '#
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
76 echo '
77 LIB= tcl
78 ' >> ${LIBTCL}Makefile
80 # some needed CFLAGS
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
87 echo '
88 LDADD+= -lm
89 DPADD+= ${LIBM}
90 ' >> ${LIBTCL}Makefile
92 # The sources
93 make -f m.x foo | fmt 60 65 | sed '
94 s/^/ /
95 s/$/ \\/
96 s/\.o/.c/g
97 1s/ /SRCS= /
98 $s/ \\$//
99 ' >> ${LIBTCL}Makefile
101 echo '
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 ; \
109 done )
110 ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 \
111 ${TCLDIST}/doc/man.macros ${DESTDIR}/usr/share/tmac/tcl.macros
113 installhdrs:
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
122 # The (n) manpages
123 (cd ${SRCDIR}/doc; echo *.n) | fmt 60 65 | sed '
124 s/^/ /
125 s/$/ \\/
126 1s/ /MANn+= /
127 $s/ \\$//
128 ' >> ${LIBTCL}Makefile
130 echo >> ${LIBTCL}Makefile
132 # The (3) manpages
133 for i in ${SRCDIR}/doc/*.3
135 sed '
136 1,/^.SH NAME/d
137 /^.SH SYNOPSIS/,$d
138 ' $i | sed -n '
139 1s/[, \\].*/.3/p
141 done | fmt 60 65 | sed '
142 s/^/ /
143 s/$/ \\/
144 1s/ /MAN3+= /
145 $s/ \\$//
146 ' >> ${LIBTCL}Makefile
148 echo >> ${LIBTCL}Makefile
150 for i in ${SRCDIR}/doc/*.3
152 sed '
153 1,/^.SH NAME/d
154 /^.SH SYNOPSIS/,$d
155 s/,//g
156 ' $i | sed -n '
157 1s/\\-.*//p
158 ' | awk '
160 for (i = 2 ; i <= NF ; i++)
161 print "MLINKS+= " $1 ".3 " $i ".3 "
163 ' >> ${LIBTCL}Makefile
164 done
166 echo '
167 # Ugly, I know, but what else can I do?!?' >> ${LIBTCL}Makefile
169 for i in ${SRCDIR}/doc/*.3
171 sed '
172 1,/^.SH NAME/d
173 /^.SH SYNOPSIS/,$d
174 s/,//g
175 ' $i | sed -n '
176 1s/\\-.*//p
177 ' | awk '{ print "TCLMAN+= " $1 ".3 " B ".3" }' B=`basename $i .3`
178 done >> ${LIBTCL}Makefile
180 cat << 'EOF' >> ${LIBTCL}Makefile
182 _tcltmp=
183 _tclprev=
184 .for _tclpage in ${TCLMAN}
185 .if !empty(_tclprev)
186 _tcltmp:= ${_tcltmp} ${_tclprev} # assign with expansion
187 ${_tclprev}: ${TCLDIST}/doc/${_tclpage}
188 cp -f ${.ALLSRC} ${.TARGET}
189 _tclprev=
190 .else
191 _tclprev=${_tclpage}
192 .endif
193 .endfor
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