CIFIN	  = objs/CIFin
CIFOUT    = objs/CIFout
IBMCIFIN  = objs/IBMCIFin
IBMCIFOUT = objs/IBMCIFout
TMCIFIN   = objs/TMCIFin
TMCIFOUT  = objs/TMCIFout
SUBCIFIN   = objs/SUBCIFin
SUBCIFOUT  = objs/SUBCIFout

SC_CPP	= `cat ../:cpp`

all: $(CIFIN) $(CIFOUT) $(IBMCIFIN) $(IBMCIFOUT) $(TMCIFIN) $(TMCIFOUT) \
	$(SUBCIFIN) $(SUBCIFOUT)

clean:;
	rm -f $(CIFIN) $(CIFOUT) $(IBMCIFIN) $(IBMCIFOUT) $(TMCIFIN) \
	$(TMCIFOUT) $(SUBCIFIN) $(SUBCIFOUT)

scg: cifout.c cifout-cmos26b.gen cifout.gen cifout.nw\
	   cifout.others cifout.pw cifout.scgnw cifout.scgpw
	rm -f $(CIFOUT)
	$(SC_CPP) scgcifout.c > scgcifout.i
	sed -e "/^#/D" -e "s/(gen )/(gen)/" -e "s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" scgcifout.i > $(CIFOUT)
	rm -f scgcifout.i

$(CIFIN): cifin.c cifin-cmos26b.gen cifin.gen cifin.nw cifin.oldnw\
	  cifin.others cifin.pw cifin-ami16.gen
	rm -f $(CIFIN)
	$(SC_CPP) -DSTANDARD cifin.c > cifin.i
	sed -e "/^#/D" -e "s/(gen )/(gen)/" -e "s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" cifin.i > $(CIFIN)
	rm -f cifin.i

$(CIFOUT): cifout.c cifout-cmos26b.gen cifout.gen cifout.nw\
	   cifout.others cifout.pw cifout-ami16.gen
	rm -f $(CIFOUT)
	$(SC_CPP) -DSTANDARD cifout.c > cifout.i
	sed -e "/^#/D" -e "s/(gen )/(gen)/" -e "s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" cifout.i > $(CIFOUT)
	rm -f cifout.i

$(IBMCIFIN): cifin.c cifin-ibm.gen
	rm -f $(IBMCIFIN)
	$(SC_CPP) -DIBM cifin.c > cifin.i
	sed -e "/^#/D" -e "s/(gen )/(gen)/" -e "s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" cifin.i > $(IBMCIFIN)
	rm -f cifin.i

$(IBMCIFOUT): cifout.c cifout-ibm.gen
	rm -f $(IBMCIFOUT)
	$(SC_CPP) -DIBM cifout.c > cifout.i
	sed -e "/^#/D" -e "s/(gen )/(gen)/" -e "s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" cifout.i > $(IBMCIFOUT)
	rm -f cifout.i

$(TMCIFIN): cifin.c cifin-cmos26b.gen
	rm -f $(TMCIFIN)
	$(SC_CPP) -DTIGHTMETAL cifin.c > cifin.i
	sed -e "/^#/D" -e "s/(gen )/(gen)/" -e "s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" cifin.i > $(TMCIFIN)
	rm -f cifin.i

$(TMCIFOUT): cifout.c cifout-cmos26b.gen
	rm -f $(TMCIFOUT)
	$(SC_CPP) -DTIGHTMETAL cifout.c > cifout.i
	sed -e "/^#/D" -e "s/(gen )/(gen)/" -e "s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" cifout.i > $(TMCIFOUT)
	rm -f cifout.i

$(SUBCIFIN): cifin.c cifin-cmos26g.gen cifin-cmos14b.gen
	rm -f $(SUBCIFIN)
	$(SC_CPP) -DSUBMICRON cifin.c > cifin.i
	sed -e "/^#/D" -e "s/(gen )/(gen)/" -e "s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" cifin.i > $(SUBCIFIN)
	rm -f cifin.i

$(SUBCIFOUT): cifout.c cifout-cmos26g.gen cifout-cmos14b.gen
	rm -f $(SUBCIFOUT)
	$(SC_CPP) -DSUBMICRON cifout.c > cifout.i
	sed -e "/^#/D" -e "s/(gen )/(gen)/" -e "s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/" cifout.i > $(SUBCIFOUT)
	rm -f cifout.i
