home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-387-Vol-3of3.iso
/
p
/
perl4036.zip
/
x2p
/
Makefile.SH
< prev
next >
Wrap
Makefile
|
1993-02-08
|
3KB
|
161 lines
case "$0" in
*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
esac
case $CONFIG in
'')
if test ! -f config.sh; then
ln ../config.sh . || \
ln -s ../config.sh . || \
ln ../../config.sh . || \
ln ../../../config.sh . || \
(echo "Can't find config.sh."; exit 1)
fi 2>/dev/null
. ./config.sh
;;
esac
echo "Extracting x2p/Makefile (with variable substitutions)"
rm -f Makefile
cat >Makefile <<!GROK!THIS!
# $RCSfile: Makefile.SH,v $$Revision: 4.0.1.3 $$Date: 92/06/08 16:11:32 $
#
# $Log: Makefile.SH,v $
# Revision 4.0.1.3 92/06/08 16:11:32 lwall
# patch20: SH files didn't work well with symbolic links
# patch20: cray didn't give enough memory to /bin/sh
# patch20: makefiles now display new shift/reduce expectations
#
# Revision 4.0.1.2 91/11/05 19:19:04 lwall
# patch11: random cleanup
#
# Revision 4.0.1.1 91/06/07 12:12:14 lwall
# patch4: cflags now emits entire cc command except for the filename
#
# Revision 4.0 91/03/20 01:57:03 lwall
# 4.0 baseline.
#
#
CC = $cc
YACC = $yacc
bin = $bin
lib = $lib
mansrc = $mansrc
manext = $manext
LDFLAGS = $ldflags
SMALL = $small
LARGE = $large $split
mallocsrc = $mallocsrc
mallocobj = $mallocobj
shellflags = $shellflags
libs = $libs
!GROK!THIS!
cat >>Makefile <<'!NO!SUBS!'
CCCMD = `sh $(shellflags) cflags $@`
public = a2p s2p find2perl
private =
manpages = a2p.man s2p.man
util =
sh = Makefile.SH makedepend.SH
h = EXTERN.h INTERN.h ../config.h handy.h hash.h a2p.h str.h util.h
c = hash.c $(mallocsrc) str.c util.c walk.c
obj = hash.o $(mallocobj) str.o util.o walk.o
lintflags = -phbvxac
addedbyconf = Makefile.old bsd eunice filexp loc pdp11 usg v7
# grrr
SHELL = /bin/sh
.c.o:
$(CCCMD) $*.c
all: $(public) $(private) $(util)
touch all
a2p: $(obj) a2p.o
$(CC) $(LDFLAGS) $(obj) a2p.o $(libs) -o a2p
a2p.c: a2p.y
@ echo Expect 231 shift/reduce conflicts...
$(YACC) a2p.y
mv y.tab.c a2p.c
a2p.o: a2p.c a2py.c a2p.h EXTERN.h util.h INTERN.h handy.h ../config.h str.h hash.h
$(CCCMD) $(LARGE) a2p.c
install: a2p s2p
# won't work with csh
export PATH || exit 1
- mv $(bin)/a2p $(bin)/a2p.old 2>/dev/null
- mv $(bin)/s2p $(bin)/s2p.old 2>/dev/null
- if test `pwd` != $(bin); then cp $(public) $(bin); fi
cd $(bin); \
for pub in $(public); do \
chmod +x `basename $$pub`; \
done
- if test `pwd` != $(mansrc); then \
for page in $(manpages); do \
cp $$page $(mansrc)/`basename $$page .man`.$(manext); \
done; \
fi
clean:
rm -f a2p *.o a2p.c
realclean: clean
rm -f *.orig */*.orig core $(addedbyconf) a2p.c s2p find2perl all cflags
# The following lint has practically everything turned on. Unfortunately,
# you have to wade through a lot of mumbo jumbo that can't be suppressed.
# If the source file has a /*NOSTRICT*/ somewhere, ignore the lint message
# for that spot.
lint:
lint $(lintflags) $(defs) $(c) > a2p.fuzz
depend: $(mallocsrc) ../makedepend
../makedepend
clist:
echo $(c) | tr ' ' '\012' >.clist
hlist:
echo $(h) | tr ' ' '\012' >.hlist
shlist:
echo $(sh) | tr ' ' '\012' >.shlist
config.sh: ../config.sh
rm -f config.sh
ln ../config.sh .
malloc.c: ../malloc.c
sed 's/"perl.h"/"..\/perl.h"/' ../malloc.c >malloc.c
# AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
$(obj):
@ echo "You haven't done a "'"make depend" yet!'; exit 1
makedepend: makedepend.SH
/bin/sh $(shellflags) makedepend.SH
!NO!SUBS!
$eunicefix Makefile
case `pwd` in
*SH)
$rm -f ../Makefile
ln Makefile ../Makefile
;;
esac
rm -f makefile