include $(TOP)/etc/$(MACHINE).mk

SYF_OBJ = syf/syf_verif.o syf/syf_recuit.o syf/syf_synth.o syf/syf_a2beh.o syf/syf_auto.o syf/syf_stack.o syf/syf_disp.o syf/syf_codage.o syf/syf_must.o syf/syf_jedi.o syf/syf_stat.o syf/syf_asp.o syf/syf_muse.o syf/syf_ame.o syf/syf_ncod.o syf/syf_beh2fsm.o syf/syf_init.o syf/y.tab.o syf/lex.yy.o syf/syf_main.o

OTHER_OBJ = other/bdd_w.o other/no_menu.o other/auvol.o 

DC_OBJ = dc/dc.o

FACT_OBJ = fact/thashfact.o fact/factorise.o fact/fact.o fact/factutil.o fact/optim.o 

UTIL_OBJ = util/beh_util.o util/util.o

COST_OBJ = cost/cost.o

LOCAL_OBJ = syf_verif.o cost.o syf_recuit.o syf_synth.o syf_a2beh.o syf_main.o syf_auto.o syf_stack.o syf_disp.o util.o syf_codage.o syf_must.o syf_jedi.o dc.o syf_stat.o syf_asp.o syf_muse.o syf_ame.o bdd_w.o thashfact.o factorise.o fact.o factutil.o optim.o syf_ncod.o beh_util.o syf_beh2fsm.o syf_init.o no_menu.o auvol.o y.tab.o lex.yy.o

H   =  syf/syf_auto.h util/util.h syf/syf_must.h syf/syf_muse.h syf/syf_asp.h

LOCAL_CPPFLAGS = $(CPPFLAGS) -c -I$(ALLIANCE_INCLUDE) -DMUT_H='<mut315.h>' -DLOG_H='<log200.h>'
LOCAL_CFLAGS = $(CFLAGS) 

LOCAL_LDFLAGS = -L../lib -L/labo/lib -lSyf100 -llog200 -lMut315 -lm -lBeh104 -lMgn317 -lMpu401 -lMlu410 -lMcp401 -lMcl408 -lMap402 -lMal403 -lMhl402 -lMvl405 -lMsl607 -lMel404 -lMph402 -lMlo404

../bin/syf : $(COST_OBJ) $(FACT_OBJ) $(DC_OBJ) $(UTIL_OBJ) $(OTHER_OBJ) $(SYF_OBJ) $(H)
	cd beh104/beh ; make TOP=$(TOP) MACHINE=$(MACHINE)
	cd syf_bvl    ; make TOP=$(TOP) MACHINE=$(MACHINE)
	$(CC) $(LOCAL_CFLAGS) -o syf  $(LOCAL_OBJ) $(LOCAL_LDFLAGS) 
	$(MV) syf ../bin

syf/y.tab.c : syf/syf_mcnc.yac
	$(YACC) $(YACCFLAGS) -d syf/syf_mcnc.yac
#	-$(MV) y.output syf
	-$(MV) y.tab.c syf
	-$(MV) y.tab.h syf
syf/lex.yy.c : syf/syf_mcnc.lex
	$(LEX) syf/syf_mcnc.lex	
	-$(MV) lex.yy.c syf

.c.o :
	$(CC) $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) $< > $@

distrib : ../bin/syf
	cd beh104/beh ; make TOP=$(TOP) MACHINE=$(MACHINE) distrib
	cd syf_bvl    ; make TOP=$(TOP) MACHINE=$(MACHINE) distrib
	@$(TOUCH) distrib
	@if [ -f ../bin/INSTALLED ] ; then $(RM) ../bin/INSTALLED ; else exit 0 ; fi

clean :
	cd beh104/beh ; make TOP=$(TOP) MACHINE=$(MACHINE) clean
	cd syf_bvl    ; make TOP=$(TOP) MACHINE=$(MACHINE) clean
	-$(RM) syf/y.tab.c
	-$(RM) syf/y.tab.h
	-$(RM) syf/lex.yy.c
	-$(RM) *.o
	-$(RM) syf/*.o
	-$(RM) dc/*.o
	-$(RM) fact/*.o
	-$(RM) other/*.o
	-$(RM) util/*.o
	-$(RM) cost/*.o
