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

LOCAL_OBJ1 = mapping/generic.o fpga/x3000.o facto/bdd2.o facto/optim.o facto/sl_DC.o facto/sl_facto.o facto/optimexpr.o bddorder/bdd_order.o ablorder/sl_order.o proof/proof_util.o prepar/prep.o prepar/carac.o prepar/bib.o prepar/compact.o load/delai.o load/neto.o  load/no_optim.o load/no_global.o load/util.o netparam/no_param.o netmenu/no_menu.o netmenu/auvol.o netmenu/lstgestion.o net/no_main.o net/no_systemp.o net/no_system.o net/enveloppe.o compil/lax_param.o compil/sl_util.o compil/sl_compile.o 

LOCAL_CFLAGS = $(CFLAGS)
LOCAL_CPPFLAGS = $(CPPFLAGS) -c -I$(ALLIANCE_INCLUDE)
LOCAL_LDFLAGS = -L$(ALLIANCE_LIB)
LOCAL_INC = -DMUT_H='"mut315.h"' -DMLO_H='"mlo404.h"' -DBEH_H='"beh106.h"' -DLOG_H='"log200.h"' -DBVL_H='"bvl108.h"'
LOCAL_LIB = -L$(ALLIANCE_LIB) -lMgn319 -lMpu402 -lMlu411 -lMcp401 -lMcl408 -lMap402 -lMal404 -lMhl402 -lMvl406 -lMsl608 -lMel406 -lMph402 -lMlo404 -lMut315 -lBvl108 -lBeh106 -lMmg401 -llog200

../bin/netoptim : $(LOCAL_OBJ1)
	$(CC) -o netoptim $(LOCAL_CFLAGS) $(LOCAL_OBJ1) $(LOCAL_LIB) -lm
	$(MV) netoptim ../bin

net/no_system.o: net/no_system.c net/no_system.h net/no_type.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) -DALLIANCE_VERSION=$(ALLIANCE_VERSION) net/no_system.c
	$(MV) no_system.o net/

net/no_systemp.o: net/no_systemp.c
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) -DALLIANCE_VERSION=$(ALLIANCE_VERSION) net/no_systemp.c
	$(MV) no_systemp.o net/

net/no_main.o: net/no_main.c net/enveloppe.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) net/no_main.c
	$(MV) no_main.o net/

net/enveloppe.o: net/enveloppe.c net/enveloppe.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) net/enveloppe.c
	$(MV) enveloppe.o net/

netmenu/lstgestion.o: netmenu/lstgestion.c
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) netmenu/lstgestion.c
	$(MV) lstgestion.o netmenu/

netmenu/auvol.o: netmenu/auvol.c
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) netmenu/auvol.c
	$(MV) auvol.o netmenu/

netmenu/no_menu.o: netmenu/no_menu.c netmenu/no_menu.h netmenu/titres.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) netmenu/no_menu.c
	$(MV) no_menu.o netmenu/

netparam/no_param.o: netparam/no_param.c netparam/no_param.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) netparam/no_param.c
	$(MV) no_param.o netparam/

load/util.o: load/util.c load/util.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) load/util.c
	$(MV) util.o load/

load/no_global.o: load/no_global.c load/no_global.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) load/no_global.c
	$(MV) no_global.o load/

load/no_optim.o: load/no_optim.c load/no_optim.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) load/no_optim.c
	$(MV) no_optim.o load/

load/neto.o: load/neto.c load/neto.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) load/neto.c
	$(MV) neto.o load/

load/delai.o: load/delai.c load/delai.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) load/delai.c
	$(MV) delai.o load/

prepar/compact.o: prepar/compact.c 
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) prepar/compact.c
	$(MV) compact.o prepar/

prepar/bib.o: prepar/bib.c prepar/bib.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) prepar/bib.c
	$(MV) bib.o prepar/

prepar/carac.o: prepar/carac.c prepar/carac.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) prepar/carac.c
	$(MV) carac.o prepar/

prepar/prep.o: prepar/prep.c 
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) prepar/prep.c
	$(MV) prep.o prepar/

proof/proof_util.o: proof/proof_util.c proof/proof.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) proof/proof_util.c
	$(MV) proof_util.o proof/

mapping/generic.o: mapping/generic.c mapping/generic.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) mapping/generic.c
	$(MV) generic.o mapping/

facto/bdd2.o: facto/bdd2.c
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) facto/bdd2.c
	$(MV) bdd2.o facto/

facto/optim.o: facto/optim.c facto/optim.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) facto/optim.c
	$(MV) optim.o facto/

facto/sl_DC.o: facto/sl_DC.c
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) facto/sl_DC.c
	$(MV) sl_DC.o facto/

facto/sl_facto.o: facto/sl_facto.c facto/sl_facto.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) facto/sl_facto.c
	$(MV) sl_facto.o facto/

facto/optimexpr.o: facto/optimexpr.c facto/optimexpr.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) facto/optimexpr.c
	$(MV) optimexpr.o facto/

fpga/x3000.o: fpga/x3000.c fpga/fpga.h fpga/fp_type.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) fpga/x3000.c
	$(MV) x3000.o fpga/

bddorder/bdd_order.o: bddorder/bdd_order.c bddorder/bdd_order.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) bddorder/bdd_order.c
	$(MV) bdd_order.o bddorder/

ablorder/sl_order.o: ablorder/sl_order.c ablorder/sl_order.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) ablorder/sl_order.c
	$(MV) sl_order.o ablorder/

compil/sl_util.o: compil/sl_util.c compil/sl_util.h mapping/types.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) compil/sl_util.c
	$(MV) sl_util.o compil/

compil/lax_param.o: compil/lax_param.c compil/lax_param.h
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) compil/lax_param.c
	$(MV) lax_param.o compil/

compil/sl_compile.o: compil/sl_compile.c 
	$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_INC) $(LOCAL_CFLAGS) compil/sl_compile.c
	$(MV) sl_compile.o compil/

distrib : ../bin/netoptim
	@$(TOUCH) distrib
	@if [ -f ../../bin/INSTALLED ] ; then $(RM) ../../bin/INSTALLED ; else exit 0 ; fi

clean :
	-@$(RM) -f $(LOCAL_OBJ1) ../bin/* distrib > /dev/null 2>&1
