perl 5.000d : [hint file updates]
[p5sagit/p5-mst-13.2.git] / x2p / Makefile.SH
CommitLineData
8d063cd8 1case $CONFIG in
2'')
a0d0e21e 3 if test -f config.sh; then TOP=.;
4 elif test -f ../config.sh; then TOP=..;
5 elif test -f ../../config.sh; then TOP=../..;
6 elif test -f ../../../config.sh; then TOP=../../..;
7 elif test -f ../../../../config.sh; then TOP=../../../..;
8 else
9 echo "Can't find config.sh."; exit 1
10 fi
11 . $TOP/config.sh
12 ;;
8d063cd8 13esac
a0d0e21e 14: This forces SH files to create target in same directory as SH file.
15: This is so that make depend always knows where to find SH derivatives.
16case "$0" in
17*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
18esac
19
8d063cd8 20echo "Extracting x2p/Makefile (with variable substitutions)"
bf10efe7 21rm -f Makefile
8d063cd8 22cat >Makefile <<!GROK!THIS!
79072805 23# $RCSfile: Makefile.SH,v $$Revision: 4.1 $$Date: 92/08/07 18:29:07 $
8d063cd8 24#
25# $Log: Makefile.SH,v $
8d063cd8 26
27CC = $cc
d8f2e4cc 28YACC = $yacc
8d063cd8 29mansrc = $mansrc
30manext = $manext
8d063cd8 31LDFLAGS = $ldflags
32SMALL = $small
33LARGE = $large $split
a1cc2bdc 34mallocsrc = $mallocsrc
35mallocobj = $mallocobj
bf10efe7 36shellflags = $shellflags
8d063cd8 37
b6ccd89c 38libs = $libs
8d063cd8 39!GROK!THIS!
40
41cat >>Makefile <<'!NO!SUBS!'
42
bf10efe7 43CCCMD = `sh $(shellflags) cflags $@`
d48672a2 44
fe14fcc3 45public = a2p s2p find2perl
8d063cd8 46
47private =
48
49manpages = a2p.man s2p.man
50
51util =
52
a0d0e21e 53sh = Makefile.SH cflags.SH find2perl.SH s2p.SH
8d063cd8 54
bf10efe7 55h = EXTERN.h INTERN.h ../config.h handy.h hash.h a2p.h str.h util.h
8d063cd8 56
a1cc2bdc 57c = hash.c $(mallocsrc) str.c util.c walk.c
8d063cd8 58
a1cc2bdc 59obj = hash.o $(mallocobj) str.o util.o walk.o
8d063cd8 60
61lintflags = -phbvxac
62
8d063cd8 63# grrr
64SHELL = /bin/sh
65
66.c.o:
d48672a2 67 $(CCCMD) $*.c
8d063cd8 68
69all: $(public) $(private) $(util)
70 touch all
71
72a2p: $(obj) a2p.o
d48672a2 73 $(CC) $(LDFLAGS) $(obj) a2p.o $(libs) -o a2p
8d063cd8 74
75a2p.c: a2p.y
a0d0e21e 76 @ echo Expect many shift/reduce and reduce/reduce conflicts...
d8f2e4cc 77 $(YACC) a2p.y
8d063cd8 78 mv y.tab.c a2p.c
79
b6ccd89c 80a2p.o: a2p.c a2py.c a2p.h EXTERN.h util.h INTERN.h handy.h ../config.h str.h hash.h
d48672a2 81 $(CCCMD) $(LARGE) a2p.c
8d063cd8 82
8d063cd8 83clean:
bf10efe7 84 rm -f a2p *.o a2p.c
8d063cd8 85
b6ccd89c 86realclean: clean
3edbfbe5 87 rm -f *.orig */*.orig core $(addedbyconf) a2p.c all malloc.c
a0d0e21e 88 rm -f Makefile cflags find2perl s2p makefile makefile.old
8d063cd8 89
90# The following lint has practically everything turned on. Unfortunately,
91# you have to wade through a lot of mumbo jumbo that can't be suppressed.
92# If the source file has a /*NOSTRICT*/ somewhere, ignore the lint message
93# for that spot.
94
95lint:
96 lint $(lintflags) $(defs) $(c) > a2p.fuzz
97
f1ca563b 98depend: $(mallocsrc) ../makedepend
8d063cd8 99 ../makedepend
100
101clist:
102 echo $(c) | tr ' ' '\012' >.clist
103
104hlist:
105 echo $(h) | tr ' ' '\012' >.hlist
106
107shlist:
108 echo $(sh) | tr ' ' '\012' >.shlist
109
f1ca563b 110malloc.c: ../malloc.c
79072805 111 sed <../malloc.c >malloc.c \
112 -e 's/"perl.h"/"..\/perl.h"/' \
113 -e 's/my_exit/exit/'
f1ca563b 114
8d063cd8 115# AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
116$(obj):
117 @ echo "You haven't done a "'"make depend" yet!'; exit 1
a0d0e21e 118makedepend: depend
8d063cd8 119!NO!SUBS!
120$eunicefix Makefile
121case `pwd` in
122*SH)
123 $rm -f ../Makefile
124 ln Makefile ../Makefile
125 ;;
126esac
f1ca563b 127rm -f makefile