]> diplodocus.org Git - nmh/blob - docs/historical/mh-6.8.5/miscellany/patch-2.0.12u8/Makefile.SH
ap: Fix write past end of addrs[] array.
[nmh] / docs / historical / mh-6.8.5 / miscellany / patch-2.0.12u8 / Makefile.SH
1 case $CONFIG in
2 '') . config.sh ;;
3 esac
4 echo "Extracting Makefile (with variable substitutions)"
5 cat >Makefile <<!GROK!THIS!
6 # $Header: Makefile.SH,v 2.0.1.2 88/06/22 20:43:40 lwall Locked $
7 #
8 # $Log: Makefile.SH,v $
9 # Revision 2.0.1.2 88/06/22 20:43:40 lwall
10 # patch12: config.h now depends on config.h.SH
11 #
12 # Revision 2.0.1.1 88/06/03 15:00:48 lwall
13 # patch10: upgraded to match some new metaconfig stuff
14 #
15 # Revision 2.0 86/09/17 15:36:15 lwall
16 # Baseline for netwide release.
17 #
18 # Revision 1.2 86/09/08 14:07:42 lwall
19 # Split up patch.c.
20 #
21 # Revision 1.1 86/08/01 20:18:35 lwall
22 # Initial revision
23 #
24
25 CC = $cc
26 bin = $bin
27 mansrc = $mansrc
28 manext = $manext
29 CFLAGS = $ccflags -O
30 LDFLAGS = $ldflags
31 SMALL = $small
32 LARGE = $large $split
33
34 !GROK!THIS!
35 cat >>Makefile <<'!NO!SUBS!'
36
37 public = patch
38 private =
39 manpages = patch.man
40 util = Makefile
41
42 c = patch.c pch.c inp.c util.c version.c backupfile.c
43
44 obj = patch.o pch.o inp.o util.o version.o backupfile.o
45
46 lintflags = -phbvxac
47
48 addedbyconf = Makefile Makefile.old bsd config.h config.sh eunice loc pdp11 usg v7
49
50 # grrr
51 SHELL = /bin/sh
52
53 .c.o:
54 $(CC) -c $(CFLAGS) $(LARGE) $*.c
55
56 all: $(public) $(private) $(util)
57 @echo Done.
58
59 patch: $(obj)
60 $(CC) $(LDFLAGS) $(obj) $(libs) -o patch
61
62 config.h: config.h.SH
63 sh config.h.SH
64
65 # won't work with csh
66 install: patch
67 export PATH || exit 1
68 -mv $(bin)/patch $(bin)/patch.old
69 cp patch $(bin)/patch
70 chmod 755 $(bin)/patch
71 -cp patch.man $(mansrc)/patch.$(manext)
72
73 uninstall:
74 rm -f $(bin)/patch $(mansrc)/patch.$(manext)
75 test ! -f $(bin)/patch.old || mv $(bin)/patch.old $(bin)/patch
76
77 clean:
78 rm -f patch *.o core
79
80 mostlyclean: clean
81
82 distclean: clean
83 rm -f $(addedbyconf)
84
85 realclean: distclean
86 rm -f *.orig *~
87
88 DISTFILES=ChangeLog Configure EXTERN.h INTERN.h MANIFEST Makefile.SH \
89 README common.h config.H config.h.SH inp.c inp.h malloc.c patch.c patch.man \
90 patchlevel.h pch.c pch.h util.c util.h version.c version.h backupfile.c \
91 backupfile.h
92
93 dist: $(DISTFILES)
94 echo patch-2.0.`sed -e '/PATCHLEVEL/!d' -e 's/[^0-9]*\([0-9a-z.]*\).*/\1/' -e q patchlevel.h` > .fname
95 rm -rf `cat .fname`
96 mkdir `cat .fname`
97 ln $(DISTFILES) `cat .fname`
98 tar chZf `cat .fname`.tar.Z `cat .fname`
99 rm -rf `cat .fname` .fname
100
101 # The following lint has practically everything turned on. Unfortunately,
102 # you have to wade through a lot of mumbo jumbo that can't be suppressed.
103 # If the source file has a /*NOSTRICT*/ somewhere, ignore the lint message
104 # for that spot.
105
106 lint:
107 lint $(lintflags) $(defs) $(c) > patch.fuzz
108
109 patch.o: config.h common.h patch.c inp.h pch.h util.h version.h backupfile.h
110 pch.o: config.h common.h pch.c pch.h util.h
111 inp.o: config.h common.h inp.c inp.h util.h
112 util.o: config.h common.h util.c util.h backupfile.h
113 version.o: config.h common.h version.c version.h patchlevel.h util.h
114 backupfile.o: config.h backupfile.c backupfile.h
115
116 !NO!SUBS!
117 $eunicefix Makefile