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).
specifies which messages should be ignored,
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.
contains all other options and switches that should be passed to
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.
This is the command to be used to invoke hscdepp.
$(DESTDIR)%.html : %.hsc $(HSC) $(HSCFLAGS) $<
This is a pattern rule that will create an 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.