XCOMM Exception and Termination Manager Makefile

XCOMM Use "make World" to build the distribution.  But before you do that,
XCOMM look at the files in the config subdirectory to see if you want
XCOMM to change anything.

XCOMM Requires imake, makedepend, mkdirhier, and the WRPRC2 imake
XCOMM configuration files.

LIBNAME = etm

DEFINES= $(VARARGS_DEFINES) $(SIGNAL_DEFINES) -DHASVOIDTYPE=$(HASVOIDTYPE)

LIBSRCS = etm.c
LIBOBJS = etm.o

TESTSRCS = etmtest.c
TESTOBJS = etmtest.o

SRCS = $(LIBSRCS) $(TESTSRCS)

all::

NormalLibraryObjectRule()

BuildNormalLibrary($(LIBNAME),$(LIBSRCS),$(LIBOBJS))
InstallLibrary($(LIBNAME),$(LOCALUSRLIBDIR))

BuildLintLibrary($(LIBNAME),$(LIBSRCS))
InstallLintLibrary($(LIBNAME),$(LOCALLINTLIBDIR))

XCOMM	Header file stuff

XCOMM The trouble with regenerating etm.h directly from etm.h.dist is that it
XCOMM triggers excessive recompiles.  Therefore, an intermediary file is
XCOMM generated and compared with etm.h.  If they don't differ, etm.h isn't
XCOMM updated.  Similarly for etm.internal.h.

FileFromIntermediary(etm.h,etm.h.new,etm.h.dist)
InstallIncludeFile(etm.h,$(LOCALINCLUDEROOT))
depend:: etm.h

FileFromMsubTemplate(etm.h.new,etm.h.dist,NullArg)

FileFromIntermediary(etm.internal.h,etm.internal.h.new,etm.internal.h.dist)
FakeInstallFile(etm.internal.h)
depend:: etm.internal.h

FileFromMsubTemplate(etm.internal.h.new,etm.internal.h.dist,NullArg)

XCOMM test program

BuildProgram(etmtest,$(TESTSRCS),$(TESTOBJS),$(ETMLIB),$(DEPETMLIB))
FakeInstallFile(etmtest)

test:: etmtest
	-./etmtest 1
	-./etmtest 2
	-./etmtest 3
	-./etmtest 4
	-./etmtest 5
	-./etmtest 6

SimpleWorldTarget($(PROJECTNAME),$(PROJECTRELEASE))

DependTarget()

XCOMM documentation

TroffMsToPostScript(etm.ps,etm.ms,NullArg,NullArg)
