Added all of the MH sources, including RCS files, in
[mmh] / 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