PLATFORM=-DSUN3
REL_PLATFORM=sun3
PFLAGS=-P -L

# End of system dependent stuff (between suns)
DEBUG=
INCL=../..

TOOLS=tools.$(REL_PLATFORM)
KIT_DIR=bigman:/usr/release/$(REL_PLATFORM)/kits
ACCESS=/valid/release/$(REL_PLATFORM)/access
PROTECT=/valid/release/$(REL_PLATFORM)/vsecure
NOSEC=../shared/unsafe.o
VERS=../pcomp/version.ex

PRODUCED=expgen.sex expgenaccess expgenaccess.mk

SHDIR=../../shared
#SHDIR=/usr/valid/tools/pascal/shared3.5


EXPGEN_AUTHORIZE=${ACCESS}/expgen/expgenauth.o

ETDIR=/usr/valid/tools/linker
MY_ETDIR=$(INCL)/et
DEBUG_ETDIR=../../et.dbug

INSTALLED_ETLIBS=${ETDIR}/libetxface.a \
                 ${ETDIR}/libetparser.a \
                 ${ETDIR}/libet.a
MY_ETLIBS=${MY_ETDIR}/libetxface.a \
          ${MY_ETDIR}/libetparser.a \
          ${MY_ETDIR}/libet.a
DEBUG_ETLIBS=${DEBUG_ETDIR}/libetxfaced.a \
             ${DEBUG_ETDIR}/libetparserd.a \
             ${DEBUG_ETDIR}/libetd.a
ETLIBS=$(MY_ETLIBS)

ADD=$(INCL)/add/libadd.a
ERULES=$(INCL)/expansion/liberule_pas.a $(INCL)/Clib/libbh.a

DERIVED_H=vopen.h unixtime.h
SRC=\
$(INCL)/lib/misc/platform.h \
$(DERIVED_H) \
consts.h \
types.h \
vars.h \
et.h \
proc1.p \
parser.p \
proc2.p \
args.p \
input.p \
proc3.p \
proc4.p \
init.p \
output.p \
expgen.p

.SUFFIXES: .o .c .p .C
.p.o:
	pc -c $(PLATFORM) $(PFLAGS) $(DEBUG) -I$(INCL) $*.p
.C.o:
	CC -c -O $(DEBUG) ${PLATFORM} -I${INCL} $*.C
.c.o:
	cc -c -O $(DEBUG) ${PLATFORM} -I${INCL} $*.c

PASC_OFILES=$(SHDIR)/vopen.o $(SHDIR)/unixtime.o
OFILES=$(PASC_OFILES) ../shared/misc.o ${SHDIR}/cwrap.o waitfor.o

all: $(PRODUCED)

vopen.h:	${SHDIR}/vopen.h
	cp ${SHDIR}/vopen.h .

s32:
	make -f makefile.s32

pmax: expgen.pmax.o $(PRODUCED)

expgen.pmax.o: $(SRC)
	/usr/lib/cpp -E -I$(INCL) $(PLATFORM) expgen.p | sed -e "/^#/d" > expgen.pmax.p
	pc -c $(PFLAGS) $(DEBUG) -I$(INCL) expgen.pmax.p
	rm -f expgen.o expgen.pmax.p
	ln expgen.pmax.o expgen.o

$(TOOLS):
	ln -s $(HOME)/vroot $(TOOLS)

unixtime.h:	${SHDIR}/unixtime.h
	cp ${SHDIR}/unixtime.h .

clean:
	rm -f *.obj *.o *.i *junk junk* .emacs* core *.pas expgen *~ $(DERIVED_H) waitfor.c

expgen.dbug: expgen.o $(DEBUG_ETLIBS) $(OFILES) $(NOSEC)
	pc -n -g -o expgen.dbug expgen.o $(OFILES) $(DEBUG_ETLIBS) $(DEBUG_ETLIBS) $(NOSEC)
expgen.ex: expgen.o $(ETLIBS) $(OFILES) $(NOSEC)
	pc -n -g -o expgen.ex expgen.o $(OFILES) $(ETLIBS) $(ETLIBS) $(NOSEC)
expgen.sex:	expgen.ex $(VERS)
	pc -n -o expgen.sex expgen.o $(OFILES) $(ETLIBS) $(ETLIBS) $(EXPGEN_AUTHORIZE)
	rm -f expgen
	ln expgen.sex expgen
	$(PROTECT)/scramble -l expgen ValidCOMPILER "`$(VERS)`"
	rm expgen

expgen.o: $(SRC)

structures:
	@true

waitfor.c: $(ACCESS)/comp/waitfor.c
	cp $(ACCESS)/comp/waitfor.c .
expgenaccess: $(ACCESS)/expgen/expgenaccess
	cp $(ACCESS)/expgen/expgenaccess .
expgenaccess.mk: $(ACCESS)/expgen/expgenaccess.mk
	cp $(ACCESS)/expgen/expgenaccess.mk .
