home *** CD-ROM | disk | FTP | other *** search
Makefile | 1994-12-14 | 7.8 KB | 258 lines |
- # This file, makefile.amiga, is part of CWEB (Version 3.3 [p11]).
- # It is distributed WITHOUT ANY WARRANTY, express or implied.
- #
- # Modified for SAS/C 6.51 under AmigaOS 2.1 on an AMIGA 2000 by
- # (scherer@genesis.informatik.rwth-aachen.de), March 1993
- # Last updated by Andreas Scherer, December 13, 1994
-
- # Copyright (C) 1987,1990,1993 Silvio Levy and Donald E. Knuth
- # Copyright (C) 1993,1994 Andreas Scherer
-
- # Permission is granted to make and distribute verbatim copies of this
- # document provided that the copyright notice and this permission notice
- # are preserved on all copies.
-
- # Permission is granted to copy and distribute modified versions of this
- # document under the conditions for verbatim copying, provided that the
- # entire resulting derived work is given a different name and distributed
- # under the terms of a permission notice identical to this one.
-
- #
- # Read the README file, then edit this file to reflect local conditions
- #
-
- # directory for TeX inputs (cwebmac.tex and (X|d|i)cwebmac.tex go here)
- MACROSDIR= cweb:macros/
-
- # directory for CWEB inputs in @i files
- CWEBINPUTS= CWeb:,CWeb:include,CWeb:inputs
-
- # extension for manual pages ("l" distinguishes local from system stuff)
- MANEXT= l
- #MANEXT= 1
-
- # directory for manual pages (cweb.1 goes here)
- MANDIR= cweb:
-
- # destination directory for executables; must end in /
- DESTDIR= cweb:bin/
-
- # directory for GNU EMACS Lips code (cweb.el goes here)
- EMACSDIR= s:
-
- # directory for language catalogs with message texts of the script file
- CATDIR= Locale:catalogs/
-
- # directory for the language header file "cweb.h"
- CATINCLUDE= bin/catalogs/
-
- # Set DESTPREF to null if you want to call the executables "tangle" and "weave"
- # (probably NOT a good idea; we recommend leaving DESTPREF=c)
- DESTPREF=c
-
- # Set CCHANGES to comm-foo.ch if you need changes to common.w
- CCHANGES=common.ch
-
- # Set TCHANGES to ctang-foo.ch if you need changes to ctangle.w
- TCHANGES=ctangle.ch
-
- # Set WCHANGES to cweav-foo.ch if you need changes to cweave.w
- WCHANGES=cweave.ch
-
- # Set PCHANGES to prod-foo.ch if you need changes to prod.w
- PCHANGES=
-
- # Set MCHANGES to wmerge-foo.ch if you need changes to wmerge.w
- MCHANGES=wmerge.ch
-
- # Set EXTENSION to either `c' if you want to treat CWEB as a system
- # of ordinary ANSI-C programs, or to `cc', `cxx', `cpp' or similar
- # if you want to treat CWEB as a system of C++ programs. Your
- # compiler should be able to distinguish between the two forms
- # according to the source file extension. Even with ANSI-C programs
- # it is strongly recommended to use C++ compilers, because of the
- # much stricter checking of type conversions and module interfaces.
- # For highest portability, all of the extra features of C++ are
- # avoided in the CWEB system.
- EXTENSION=cc
-
- # These lists of arguments are specific for SC and SLINK.
- # Change, add or delete things here to suit your personal conditions.
- OBJS = LIB:cres.o
- LIBS = LIB:sc.lib
- CFLAGS = CPU=ANY INCLUDEDIR=$(CATINCLUDE) DEFINE=_DEV_NULL="NIL:" \
- DEFINE=_STRICT_ANSI DEFINE=CWEBINPUTS="$(CWEBINPUTS)" \
- DEFINE=SEPARATORS=",/:" NOSTACKCHECK NOICONS VERBOSE \
- IGNORE=304+1597 OPTIMIZE
- LINKFLAGS = VERBOSE NOICONS STRIPDEBUG LIB $(LIBS) FROM $(OBJS)
-
- # The `f' flag is turned off to save paper
- # The `lX' flag includes Xcwebmac.tex
- # The `s' flag displays some statistics
- WFLAGS=-f +lX +s
- TFLAGS=+s
-
- # What C compiler are you using?
- CC = SC
- LINK = SLink
- MAKE = SMake
-
- # RM and CP are used below in case rm and cp are aliased
- RM= delete
- CP= copy
- INSTALL= copy
-
- ########## You shouldn't have to change anything after this point #######
-
- CWEAVE = cweave
- CTANGLE = ctangle
- WMERGE = wmerge
- SOURCES = cweave.w common.w ctangle.w
- ALMOSTALL = common.w ctangle.w wmerge.w makefile readme common.h \
- common.$(EXTENSION) ctangle.$(EXTENSION) wmerge.$(EXTENSION) \
- cwebman.tex cwebmana.ch cweb.1 cweb.man cweb.el prod.w \
- $(CCHANGES) $(CHCHANGES) $(TCHANGES) $(WCHANGES) $(PCHANGES) \
- comm-vms.ch ctang-vms.ch cweav-vms.ch \
- comm-man.ch ctang-man.ch cweav-man.ch \
- makefile.amiga makefile.pc makefile.unix \
- $(MACROSDIR)cwebmac.tex $(MACROSDIR)Xcwebmac.tex \
- $(MACROSDIR)dcwebmac.tex $(MACROSDIR)icwebmac.tex \
- $(CATINCLUDE)cweb.h $(CATINCLUDE)dcweb.h $(CATINCLUDE)icweb.h \
- examples
- ALL = $(ALMOSTALL) cweave.w
-
- .SUFFIXES: .dvi .tex .w
-
- .w.tex:
- $(CWEAVE) $(WFLAGS) $* $*
-
- .tex.dvi:
- virtex &plain "\language=0 \input " $<
-
- .w.dvi:
- $(MAKE) $*.tex
- $(MAKE) $*.dvi
-
- .$(EXTENSION).o:
- $(CC) $(CFLAGS) $*.$(EXTENSION)
-
- .w.o:
- $(MAKE) $*.$(EXTENSION)
- $(MAKE) $*.o
-
- # When you say `smake' without any arguments, `smake' will jump to this item
- default: ctangle cweave
-
- # The complete set of files contains the two programs `ctangle' and
- # `cweave' plus the program `wmerge', the manuals `cwebman' and `cwebmana'
- # and the source documentations.
- all: progs docs
-
- # The objects of desire
- progs: ctangle cweave wmerge
-
- cautiously: ctangle
- $(CP) common.$(EXTENSION) SAVEcommon.$(EXTENSION)
- $(CTANGLE) $(TFLAGS) common $(CCHANGES) common.$(EXTENSION)
- diff common.$(EXTENSION) SAVEcommon.$(EXTENSION)
- $(RM) SAVEcommon.$(EXTENSION)
- $(CP) ctangle.$(EXTENSION) SAVEctangle.$(EXTENSION)
- $(CTANGLE) $(TFLAGS) ctangle $(TCHANGES) ctangle.$(EXTENSION)
- diff ctangle.$(EXTENSION) SAVEctangle.$(EXTENSION)
- $(RM) SAVEctangle.$(EXTENSION)
-
- SAVEctangle.$(EXTENSION):
- $(CP) ctangle.$(EXTENSION) SAVEctangle.$(EXTENSION)
-
- SAVEcommon.$(EXTENSION):
- $(CP) common.$(EXTENSION) SAVEcommon.$(EXTENSION)
-
- common.$(EXTENSION): common.w $(CCHANGES)
- $(CTANGLE) $(TFLAGS) common $(CCHANGES) common.$(EXTENSION)
-
- common.o: common.$(EXTENSION) $(CATINCLUDE)cweb.h
-
- ctangle: ctangle.o common.o
- $(LINK) $(LINKFLAGS) common.o ctangle.o TO ctangle
-
- ctangle.$(EXTENSION): ctangle.w $(TCHANGES)
- $(CTANGLE) $(TFLAGS) ctangle $(TCHANGES) ctangle.$(EXTENSION)
-
- ctangle.o: ctangle.$(EXTENSION) $(CATINCLUDE)cweb.h common.h
-
- cweave: cweave.o common.o
- $(LINK) $(LINKFLAGS) common.o cweave.o TO cweave
-
- cweave.$(EXTENSION): cweave.w $(WCHANGES)
- $(CTANGLE) $(TFLAGS) cweave $(WCHANGES) cweave.$(EXTENSION)
-
- cweave.o: cweave.$(EXTENSION) $(CATINCLUDE)cweb.h common.h
- $(CC) $(CFLAGS) code=FAR cweave.$(EXTENSION)
-
- wmerge: wmerge.o
- $(LINK) $(LINKFLAGS) wmerge.o TO wmerge
-
- wmerge.o: wmerge.$(EXTENSION)
- $(CC) $(CFLAGS) wmerge.$(EXTENSION)
-
- wmerge.$(EXTENSION): wmerge.w $(MCHANGES)
- $(CTANGLE) $(TFLAGS) wmerge $(MCHANGES) wmerge.$(EXTENSION)
-
- # Take a good lecture for bedtime reading
- docs: cwebman.dvi cwebmana.dvi common.dvi ctangle.dvi cweave.dvi wmerge.dvi
-
- cwebman.dvi: cwebman.tex
- cwebmana.dvi: cwebmana.tex
- common.dvi: common.tex
- ctangle.dvi: ctangle.tex
- cweave.dvi: cweave.tex
- wmerge.dvi: wmerge.tex
-
- usermanual: cwebmana.dvi
-
- fullmanual: usermanual $(SOURCES) comm-man.ch ctang-man.ch cweav-man.ch
- $(MAKE) cweave
- $(CWEAVE) common.w comm-man.ch
- $(MAKE) common.dvi
- $(CWEAVE) ctangle.w ctang-man.ch
- $(MAKE) ctangle.dvi
- $(CWEAVE) cweave.w cweav-man.ch
- $(MAKE) cweave.dvi
-
- cwebmana.tex: cwebman.tex cwebmana.ch
- $(WMERGE) cwebman.tex cwebmana.ch cwebmana.tex
-
- # for making the documentation we will have to include the change files
- ctangle.tex: ctangle.w common.h $(TCHANGES)
- $(CWEAVE) $(WFLAGS) ctangle $(TCHANGES)
-
- cweave.tex: cweave.w common.h $(WCHANGES)
- $(CWEAVE) $(WFLAGS) cweave $(WCHANGES)
-
- common.tex: common.w $(CCHANGES)
- $(CWEAVE) $(WFLAGS) common $(CCHANGES)
-
- wmerge.tex: wmerge.w $(MCHANGES)
- $(CWEAVE) $(WFLAGS) wmerge $(MCHANGES)
-
- # be sure to leave ctangle.$(EXTENSION) and common.$(EXTENSION)
- # and common.h for bootstrapping
- clean:
- $(RM) \#?.(o|lnk|bak|log|dvi|toc|idx|scn) \
- common.tex cweave.tex cweave.$(EXTENSION) ctangle.tex \
- cweave ctangle cwebmana.tex wmerge.tex wmerge
-
- # Install the new program versions where they can be found
- install: bin/ctangle bin/cweave bin/wmerge
- $(INSTALL) cweave $(DESTDIR)$(DESTPREF)weave
- $(INSTALL) ctangle $(DESTDIR)$(DESTPREF)tangle
- $(INSTALL) wmerge $(DESTDIR)wmerge
-
- # Make a shipable archive
- cweb.lha: $(ALL)
- lha a x cweb.lha $(ALL)
-
- cweb.tar.gz: $(ALL)
- tar cvf cweb.tar $(ALL)
- gzip cweb.tar
-