comparison rogue4/Makefile.in @ 223:0e99eade579c

Generate text documentation from the troff source files. This is done by make, in the 'docs' target, which is now part of the normal build process. Unfortunately, not all the games include troff sources. Getting decent HTML output from groff is still a difficult process which will not be attempted at this time. There are a few bugs in the 'install' and 'uninstall' rules. Not to mention that the documentation is sometimes inaccurate.
author John "Elwin" Edwards
date Sun, 21 Feb 2016 20:47:12 -0500
parents 97f8fdf9595c
children 4d0f53998e8a
comparison
equal deleted inserted replaced
222:a666e4a034ed 223:0e99eade579c
43 fight.c init.c io.c list.c main.c misc.c monsters.c move.c \ 43 fight.c init.c io.c list.c main.c misc.c monsters.c move.c \
44 new_level.c options.c pack.c passages.c potions.c rings.c rip.c \ 44 new_level.c options.c pack.c passages.c potions.c rings.c rip.c \
45 rooms.c save.c scrolls.c state.c sticks.c things.c weapons.c wizard.c \ 45 rooms.c save.c scrolls.c state.c sticks.c things.c weapons.c wizard.c \
46 mach_dep.c xcrypt.c mdport.c 46 mach_dep.c xcrypt.c mdport.c
47 MISC= Makefile LICENSE.TXT rogue.6 rogue.me 47 MISC= Makefile LICENSE.TXT rogue.6 rogue.me
48 DOCS= $(PROGRAM).cat $(PROGRAM).doc
48 49
49 CFLAGS= 50 CFLAGS=
50 CPPFLAGS=@DEFS@ 51 CPPFLAGS=@DEFS@
51 CRLIB = -lcurses 52 CRLIB = -lcurses
52 RM = rm -f 53 RM = rm -f
54 TOUCH=touch 55 TOUCH=touch
55 MKDIR=mkdir 56 MKDIR=mkdir
56 CHGRP=chgrp 57 CHGRP=chgrp
57 CHMOD=chmod 58 CHMOD=chmod
58 INSTALL=@INSTALL@ 59 INSTALL=@INSTALL@
60 GROFF=@GROFF@
61 NROFF=@NROFF@
62 COLCRT=@COLCRT@
63 TBL=@TBL@
59 64
60 SF= 65 SF=
61 NAMELIST= 66 NAMELIST=
62 NL= 67 NL=
63 #MACHDEP= -DMAXLOAD=40 -DLOADAV -DCHECKTIME=4 68 #MACHDEP= -DMAXLOAD=40 -DLOADAV -DCHECKTIME=4
68 @$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c -o $*.o 73 @$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c -o $*.o
69 # @cpp -P $(CFLAGS) $*.c | ./xstr -v -c - 74 # @cpp -P $(CFLAGS) $*.c | ./xstr -v -c -
70 # @cc -c $(CFLAGS) x.c 75 # @cc -c $(CFLAGS) x.c
71 # @mv x.o $*.o 76 # @mv x.o $*.o
72 77
73 @PROGRAM@: $(HDRS) $(OBJS) # xs.o 78 all: $(PROGRAM) docs
79
80 $(PROGRAM): $(HDRS) $(OBJS) # xs.o
74 # @rm -f x.c 81 # @rm -f x.c
75 # $(CC) $(LDFLAGS) xs.o $(OBJS) $(CRLIB) 82 # $(CC) $(LDFLAGS) xs.o $(OBJS) $(CRLIB)
76 $(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ 83 $(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
77 84
78 main.o: main.c $(HDRS) 85 main.o: main.c $(HDRS)
98 $(CC) -O -o prob prob.o extern.o xs.o 105 $(CC) -O -o prob prob.o extern.o xs.o
99 106
100 prob.o: prob.c rogue.h 107 prob.o: prob.c rogue.h
101 $(CC) -O -c prob.c 108 $(CC) -O -c prob.c
102 109
110 docs: $(DOCS)
111
112 $(PROGRAM).cat: rogue.6
113 if test "x$(GROFF)" != "x" ; then \
114 $(GROFF) -P-c -P-b -P-u -Tascii -man rogue.6 > $(PROGRAM).cat ;\
115 elif test "x$(NROFF)" != "x" -a "x$(COLCRT)" != "x" ; then \
116 $(NROFF) -man rogue.6 | colcrt - > $(PROGRAM).cat ;\
117 fi
118
119 $(PROGRAM).doc: rogue.me
120 if test "x$(GROFF)" != "x" ; then \
121 $(GROFF) -P-c -P-b -P-u -t -me -Tutf8 rogue.me > $(PROGRAM).doc ;\
122 elif test "x$(NROFF)" != "x" -a "x$(COLCRT)" != "x" -a "x$(TBL)" != "x" ; then \
123 $(TBL) rogue.me | $(NROFF) -me | $(COLCRT) - > $(PROGRAM).doc ;\
124 fi
125
103 clean: 126 clean:
104 rm -f $(POBJS) $(OBJS) core a.out p.out @PROGRAM@ strings make.out rogue.tar vgrind.* x.c x.o xs.c xs.o linterrs findpw distmod.o xs.po xstr rogue rogue.exe rogue.tar.gz rogue.cat rogue.doc xstr.exe 127 rm -f $(POBJS) $(OBJS) core a.out p.out $(PROGRAM) strings make.out rogue.tar vgrind.* x.c x.o xs.c xs.o linterrs findpw distmod.o xs.po xstr rogue rogue.exe rogue.tar.gz $(DOCS) xstr.exe
105 128
106 maintainer-clean: 129 maintainer-clean:
107 make clean 130 make clean
108 $(RM) Makefile config.h 131 $(RM) Makefile config.h
109 $(RM) config.status config.log 132 $(RM) config.status config.log
135 then $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(mandir)/$(PROGRAM).6 ; fi 158 then $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(mandir)/$(PROGRAM).6 ; fi
136 -if test ! -d $(DESTDIR)$(docdir) ; \ 159 -if test ! -d $(DESTDIR)$(docdir) ; \
137 then $(MKDIR) -p $(DESTDIR)$(docdir) ; fi 160 then $(MKDIR) -p $(DESTDIR)$(docdir) ; fi
138 -$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT 161 -$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
139 -$(INSTALL) -m 0644 rogue.me $(DESTDIR)$(docdir)/$(PROGRAM).me 162 -$(INSTALL) -m 0644 rogue.me $(DESTDIR)$(docdir)/$(PROGRAM).me
163 -$(INSTALL) -m 0644 $(PROGRAM).doc $(DESTDIR)$(docdir)/$(PROGRAM).doc
164 -$(INSTALL) -m 0644 $(PROGRAM).cat $(DESTDIR)$(docdir)/$(PROGRAM).cat
140 -if test "x$(LOCKFILE)" != "x" && test ! -f $(DESTDIR)$(LOCKFILE) ; then \ 165 -if test "x$(LOCKFILE)" != "x" && test ! -f $(DESTDIR)$(LOCKFILE) ; then \
141 $(INSTALL) -m 0666 test $(DESTDIR)$(LOCKFILE) ; \ 166 $(INSTALL) -m 0666 test $(DESTDIR)$(LOCKFILE) ; \
142 $(RM) $(DESTDIR)$(LOCKFILE) ; \ 167 $(RM) $(DESTDIR)$(LOCKFILE) ; \
143 fi 168 fi
144 -$(RM) test 169 -$(RM) test
145 170
146 uninstall: 171 uninstall:
147 -$(RM) $(DESTDIR)$(bindir)/$(PROGRAM) 172 -$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
148 -$(RM) $(DESTDIR)$(man6dir)/$(PROGRAM).6 173 -$(RM) $(DESTDIR)$(man6dir)/$(PROGRAM).6
149 -$(RM) $(DESTDIR)$(docdir)$(PROGRAM)/$(PROGRAM).doc 174 -$(RM) $(DESTDIR)$(docdir)/$(PROGRAM).doc
175 -$(RM) $(DESTDIR)$(docdir)/$(PROGRAM).cat
176 -$(RM) $(DESTDIR)$(docdir)/$(PROGRAM).me
150 -$(RM) $(DESTDIR)$(LOCKFILE) 177 -$(RM) $(DESTDIR)$(LOCKFILE)
151 -$(RMDIR) $(DESTDIR)$(docdir)$(PROGRAM) 178 -$(RMDIR) $(DESTDIR)$(docdir)$(PROGRAM)
152 179
153 reinstall: uninstall install 180 reinstall: uninstall install
154 181