# SccsId = "@(#)Makefile 4.6 (TU-Delft) 05/12/92"
##############################################################################
## >>>>>>>>>    DO NOT REDEFINE THESE IN YOUR MAKEFILE        <<<<<<<<<<<<<<<<
##
## environment variables
## CACDSRCHOME	path to cacdsrc home
## NELSISHOME	path to nelsis home
## ARCHITECTURE current machine's architecture type
## HOSTNAME	current machine's name
## make global defines
## SHELL	make's shell
## TESTLINK	needed for DomainOS compatibility
## these variables defined automagically
## IF etdisrc entered correctly e.g set home=~cacdsrc;newgrp etdisrc

## ARCHITECTURE DEPENDENT DEFINES ##
CONFIGDIR=$(CACDSRCHOME)/CONFIG
include $(CONFIGDIR)/M.$(ARCHITECTURE)

SOURCEDIR=./SRC

SHELL=/bin/sh

ICDPATH=$(CACDSRCHOME)/DEVWSPC/$(ARCHITECTURE)
OSTYPE=SYSV
# ESE=-DESE
LDFLAGS=

BIN=$(ICDPATH)/bin
LIB=$(ICDPATH)/lib
LIBINCL=$(LIB)/include
LIBPROC=$(LIB)/process
CFLAGS=$(OCFLAGS) -D$(OSTYPE) $(ESE) -I$(LIBINCL)
LDFLAGS=
OLIBS= -ll -lm

DMLIB=$(LIB)/libddm.a
ESELIB=$(LIB)/libese.a
FMTLIBS=$(LIB)/libcirfmt.a

TARGET=xsls
TARGETb=xspice
TARGETc=xedif

SRC1=incl.h define.h type.h
SRC2=cirTree.c expNet.c findDev.c findFunc.c findNet.c\
	findNetw.c nextAttr.c prFoot.c prHead.c\
	prInst.c prNets.c print.c xnetwork.c prExt.c
SRC3=main.c
SRCS=$(SRC1) $(SRC2) $(SRC3)

OBJ2=cirTree.o expNet.o findDev.o findFunc.o findNet.o\
	findNetw.o nextAttr.o prFoot.o prHead.o\
	prInst.o prNets.o print.o xnetwork.o prExt.o
OBJ3a=main.o
OBJ3b=main.b.o
OBJ3c=main.c.o
OBJSabc=$(OBJ2) $(OBJ3a) $(OBJ3b) $(OBJ3c)

$(TARGET): $(OBJSabc)
	$(CC) $(LDFLAGS) $(CFLAGS) $(OBJ2) $(OBJ3a) $(FMTLIBS) $(DMLIB) \
	     $(OLIBS) -o $(TARGET)
	$(CC) $(LDFLAGS) $(CFLAGS) $(OBJ2) $(OBJ3b) $(FMTLIBS) $(DMLIB) \
	     $(OLIBS) -o $(TARGETb)
	$(CC) $(LDFLAGS) $(CFLAGS) $(OBJ2) $(OBJ3c) $(FMTLIBS) $(DMLIB) \
	     $(OLIBS) -o $(TARGETc)

getspice: $(OBJSabc)
	$(CC) $(LDFLAGS) $(CFLAGS) $(OBJ2) $(OBJ3b) $(FMTLIBS) $(DMLIB) $(ESELIB) \
	     $(OLIBS) -o getspice

getsls: $(OBJSabc)
	$(CC) $(LDFLAGS) $(CFLAGS) $(OBJ2) $(OBJ3a) $(FMTLIBS) $(DMLIB) $(ESELIB) \
	     $(OLIBS) -o getsls

getedifnet: $(OBJSabc)
	$(CC) $(LDFLAGS) $(CFLAGS) $(OBJ2) $(OBJ3c) $(FMTLIBS) $(DMLIB) $(ESELIB) \
	     $(OLIBS) -o getedifnet

install: $(TARGET)
	mv $(TARGET) $(TARGETb) $(TARGETc) $(BIN)

ese: getspice getsls getedifnet

eseinstall: getspice getsls getedifnet
	mv getspice $(BIN)
	mv getsls $(BIN)
	mv getedifnet $(BIN)

clean:
	rm -f $(OBJSabc) core $(TARGET) $(TARGETb) $(TARGETc) \
	getedifnet getspice getsls LINT main.b.c main.c.c

LINT: $(SRCS)
	lint $(CFLAGS) $(SRC2) $(SRC3) > LINT

$(OBJSabc): $(SRC1)

$(OBJ3b): $(SRC3)
	rm -f main.b.c
	cp $(SRC3) main.b.c
	$(CC) -c $(CFLAGS) -DXSPICE main.b.c

$(OBJ3c): $(SRC3)
	rm -f main.c.c
	cp $(SRC3) main.c.c
	$(CC) -c $(CFLAGS) -DXEDIF main.c.c

$(SRCS):
	-@$(TESTLINK) $@ || ln -s $(SOURCEDIR)/$@ .; \
	cd $(SOURCEDIR) ; \
	test -f $@ || get -s SCCS/s.$@;
#EOF
