#include <Library.tmpl>

#ifdef BandAidCompiler
#include BandAidCompiler
#endif

/**/# DEFINES defines optional parts of PEXt to be compiled.
/**/# Add -DES_PICK_EXTENSION to compile in support for the E&S picking
/**/# extension
        DEFINES = -DES_PICK_EXTENSION

 EXTRA_INCLUDES = -I..

   INSTALLFLAGS = $(INSTINCFLAGS)
       LINTLIBS = $(LINTXLIB)

/**/# Directory where PEXt include files will be installed
     PEXTINCDIR = $(USRINCDIR)/PEXt

/**/# Directory where PHIGS include files will be found
    PHIGSINCDIR = $(EXTENSIONSRC)/lib/PEX/include

/**/# PHIGSERRH and PHIGSFUNCH are used to generate error message text.
      PHIGSERRH = $(PHIGSINCDIR)/phigserr.h
     PHIGSFUNCH = $(PHIGSINCDIR)/phigscfunc.h


HEADERS = \
	Animator.h \
	AnimatorP.h \
	Converters.h \
	PEXt.h \
	Primitive.h \
	Quarks.h \
	Sphere.h \
	StringDefs.h \
	Structure.h \
	WorkstatP.h \
	Workstati.h

SRCS = \
	Animator.c \
	Converters.c \
	Initialize.c \
	Primitive.c \
	Structure.c \
	Workstati.c \
	dump_end.c \
	dump_middle.c \
	dump_start.c

OBJS = \
	Animator.o \
	Converters.o \
	Initialize.o \
	Primitive.o \
	Structure.o \
	Workstati.o \
	dump_names.o

SRCS1 = \
	dump_end.c \
	dump_middle.c \
	dump_start.c \
	$(PHIGSERRH) \
	$(PHIGSFUNCH)

#define IHaveSubdirs
#define PassCDebugFlags

SUBDIRS = man

MakeSubdirs($(SUBDIRS))

/*
 * always generate unshared library too 
 */
NormalLibraryTarget(PEXt,$(OBJS))
InstallLibrary(PEXt,$(USRLIBDIR))

/*
LintLibraryTarget(PEXt,$(SRCS))
InstallLintLibrary(PEXt,$(LINTLIBDIR))
*/

#if ProfileLibPEXt
ProfiledLibraryTarget(PEXt,$(OBJS))
InstallLibrary(PEXt_p,$(USRLIBDIR))
#endif

#if DebugLibPEXt
DebuggedLibraryTarget(PEXt,$(OBJS))
#endif

BuildIncludes($(HEADERS),.,.)
InstallMultiple($(HEADERS),$(PEXTINCDIR))

DependTarget()
DependSubdirs($(SUBDIRS))

/*
NormalLintTarget($(SRCS))
*/

/**/# dump_names is constructed automatically from scripts; it contains
/**/# a routine to print out the error name and function name based on
/**/# the symbolic values found in phigscfunc.h and phigserr.h
dump_names.c: $(SRCS1)
	cp dump_start.c dump_names.c
	chmod +w dump_names.c
	awk '/.*#define.*Pfn_[a-z0-9_]*/{ \
		print "\t{ " $$2 ", \"" substr($$2,5,length($$2)) "\" }," }' \
	    $(PHIGSFUNCH) >> dump_names.c
	cat dump_middle.c >> dump_names.c
	awk '/.*#define.*PE[A-Z0-9]*/{ \
		print "\t{ " $$2 ", \"" substr($$2,3,length($$2)) "\" }," }' \
	    $(PHIGSERRH) >> dump_names.c
	cat dump_end.c >> dump_names.c

clean::
	rm dump_names.c
