DESTDIR = HSCMESSAGE=MsgMode=normal Ignore=46 HSCPROJECT=hsc.project HSCINCLUDE=include/standard.hsc include/page.hsc HSCMISC =RplcEnt
DESTDIR
describes the destination-directory for your
html-objects and is relative to the path where you invoke make (and
usually your hsc-sources are located, too). IGNORE
specifies which messages should be ignored, HSCPROJECT
is
the project-file to be used both by hsc and hscdepp.
HSCINCLUDE
specifies include files which should be
processed within the command-call invoking hsc from the Makefile;
these files will be included for all hsc-sources. HSCMISC
contains all other options and switches that should be passed to
hsc.
HSC =hsc HSCFLAGS=$(HSCMISC) $(HSCMESSAGE) prjfile=$(HSCPROJECT) to=$(DESTDIR) $(HSCINCLUDE)
HSC
is the command to be used to invoke hsc; if it isn't
already in your search-path, you can also enter the full path here.
HSCFLAGS
is computed from the values above and contains
all parameters for hsc, exept the main hsc-source.
HSCDEPP =hscdepp
This is the command to be used to invoke hscdepp.
$(DESTDIR)%.html : %.hsc $(HSC) $(HSCFLAGS) $<
This is a pattern rule that will create a html-object in
DESTDIR
using the corresponding hsc-source and the
options you specified above. The automatic variable
"$<
" contains the name of the first dependency,
normally this is the main hsc-source.
depend : $(HSCDEPP) file=Makefile prjfile=$(HSCPROJECT) verbose
This rule will invoke hscdepp and update your dependencies; this will modify your Makefile.
A fine thing about the pattern rule used above to create your html-object is that it can be extended to do several things before or after hsc performes its task.
For example, extending it to
$(DESTDIR)%.html : %.hsc $(HSC) $(HSCFLAGS) $< chmod 644 $@
will make sure that the file-permission-bits are set to the usual value required by w3-documents. This, of course, works only for Unixoid systems.
If you are using AmigaOS and have an ARexx capable w3 browser installed, you can use
$(DESTDIR)%.html : %.hsc $(HSC) $(HSCFLAGS) $< OpenURL FILE $@
to immediately display updated documents in your browser. OpenURL is available from Aminet.
You can also use a better syntax checker than hsc on your newly created document:
$(DESTDIR)%.html : %.hsc $(HSC) $(HSCFLAGS) $< CheckHTML $@
Note that errors found during the second check are reported from the html object and might be a bit difficult to backtrace in the hsc source.