# 
# This file is part of the Alliance CAD System
# Copyright (C) Laboratoire LIP6 - Dpartement ASIM
# Universite Pierre et Marie Curie
# 
# Home page          : http://www-asim.lip6.fr/alliance/
# E-mail support     : mailto:alliance-support@asim.lip6.fr
# 
# This progam is  free software; you can redistribute it  and/or modify it
# under the  terms of the GNU  General Public License as  published by the
# Free Software Foundation;  either version 2 of the License,  or (at your
# option) any later version.
# 
# Alliance VLSI  CAD System  is distributed  in the hope  that it  will be
# useful, but WITHOUT  ANY WARRANTY; without even the  implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
# 
# You should have received a copy  of the GNU General Public License along
# with the GNU C Library; see the  file COPYING. If not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# 

#               ,,,
#              (o o)
# ####=====oOO--(_)--OOO==========================================####
# ##                                                                ##
# ##   File            :  Makefike for LOGIC                        ##
# ##   Author          :  Olivier SIROL                             ##
# ##   Date            :  Oct 1996                                  ##
# ##                                                                ##
# ##   E-mail support  :  cao-vlsi@masi.ibp.fr                      ##
# ##                                                                ##
# ####============================================================####
#
# $Id: Makefile,v 1.6 1997/10/09 09:09:23 sirol Exp sirol $
#
#

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

EXEC_PROOF = $(TARGET_BIN)/proof
EXEC_NETOP = $(TARGET_BIN)/glop
EXEC_BOPTIM = $(TARGET_BIN)/bop
EXEC_C4MAP = $(TARGET_BIN)/c4map
EXEC_SCMAP = $(TARGET_BIN)/scmap

LOCAL_CFLAGS =  $(CFLAGS) -O4

#LOCAL_CFLAGS =  $(CFLAGS) -g
#STRIP=$(TOUCH)

LOCAL_INC = \
-DLOGIC_VERSION='"$(REV_BANNER)"' \
-DNETOP_VERSION='"$(REV_BANNER)"' \
-DPROOF_VERSION='"$(REV_BANNER)"' \
-DLOGIC_DATE='"$(REV_DATE)"' \
-I$(ALLIANCE_INCLUDE) \
-DALLIANCE_VERSION=$(ALLIANCE_VERSION) \
-DIAC_H='"$(IAC_H)"' \
-DBEH_H='"$(BEH_H)"' \
-DBHL_H='"$(BHL_H)"' \
-DBVL_H='"$(BVL_H)"' \
-DELP_H='"$(ELP_H)"' \
-DICN_H='"$(ICN_H)"' \
-DICU_H='"$(ICU_H)"' \
-DLOG_H='"log201.h"' \
-DMGN_H='"$(MGN_H)"' \
-DMLO_H='"$(MLO_H)"' \
-DMLU_H='"$(MLU_H)"' \
-DMPH_H='"$(MPH_H)"' \
-DMUT_H='"$(MUT_H)"' \
-DRDS_H='"$(RDS_H)"' \
-DRFM_H='"$(RFM_H)"' \
-DRPR_H='"$(RPR_H)"' \
-DRTL_H='"$(RTL_H)"' \
-DRUT_H='"$(RUT_H)"'

LOCAL_LIB =  -L$(ALLIANCE_LIB)	\
	$(ELP_L)\
	$(RTL_L)\
	$(RPR_L)\
	$(RDS_L)\
	$(ICU_L)\
	$(ICC_L)\
	$(ICA_L)\
	$(ICN_L)\
	$(MGN_L)\
	$(MPU_L)\
	$(MMG_L)\
	$(MCP_L)\
	$(MAP_L)\
	$(MPH_L)\
	$(MLU_L)\
	$(MVL_L)\
	$(MSL_L)\
	$(MHL_L)\
	$(MEL_L)\
	$(MCL_L)\
	$(MGL_L)\
	$(MAL_L)\
	$(RCN_L)\
	$(MLO_L)\
	$(BVL_L)\
	$(BHL_L)\
	$(BEH_L)\
	$(MUT_L)

LOCAL_OBJ = log_bdd0.o \
log_bdd1.o \
log_prefbib.o \
log_thash.o   \
log_thashbdd.o   \
log_thashloc.o   \
but_error.o 	\
lax_param.o 	\
c4_caraccell.o 	\
c4_debug.o 	\
c4_decomp_bd1.o \
c4_decomp_buf.o \
c4_decomp_bus1.o \
c4_decomp_dec4.o \
c4_decomp_high1.o \
c4_decomp_latch1.o \
c4_decomp_latch2.o \
c4_decomp_low1.o \
c4_decomp_not1.o \
c4_decomp_not1p.o \
c4_decomp_tie.o \
c4_genicon.o 	\
c4_genlib.o 	\
      c4_icon.o \
      c4_lofig.o \
      c4_prepar_balance.o \
      c4_prepar_devxor.o \
      c4_prepar_flatpol.o \
      c4_prepar_map.o 	\
      c4_prepar_post.o 	\
      c4_stretch.o 	\
      c4_util.o 	\
      mapping_arbres.o 	\
      mapping_compile.o \
      mapping_cout.o 	\
      mapping_decomp.o 	\
      mapping_display.o \
      mapping_generic.o \
      mapping_mapper.o 	\
      mapping_mbk.o 	\
      mapping_moteur.o 	\
      mapping_oper.o 	\
      mapping_regles.o 	\
      mapping_util.o 	\
      sl_bdd_order.o 	\
      sl_compile.o 	\
      sl_dontcare.o 	\
      sl_facto.o 	\
      sl_facto_bdd2.o 	\
      sl_facto_cliqueZ.o \
      sl_facto_jacoX.o 	\
      sl_facto_optim.o 	\
      sl_facto_optimexpr.o \
      sl_order.o \
      sl_prepar_bib.o \
      sl_prepar_carac.o \
      sl_prepar_compact.o \
      sl_prepar_prep.o 	\
      sl_proof_util.o 	\
      sl_system.o 	\
      sl_systemp.o 	\
      sl_util.o


NET_OBJ = netop_enveloppe.o \
  netop_load_global.o \
  netop_load_incdelai.o \
  netop_load_neto.o \
  netop_load_optim.o \
  netop_load_util.o \
  netop_system.o \
  netop_systemp.o

.c.o :
	$(CC) -c $(LOCAL_CFLAGS) $(LOCAL_INC) $<

all : $(EXEC_NETOP) \
      $(EXEC_BOPTIM) \
      $(EXEC_PROOF) \
      $(EXEC_SCMAP) $(EXEC_C4MAP)

$(EXEC_NETOP) : $(LOCAL_OBJ) $(NET_OBJ) netop_main.o
	$(CC) -o $(EXEC_NETOP) $(LOCAL_CFLAGS) netop_main.o $(LOCAL_OBJ)  $(NET_OBJ)  $(LOCAL_LIB) -lm
	$(STRIP) $(EXEC_NETOP) 

$(EXEC_BOPTIM) : $(LOCAL_OBJ) boptim_main.o
	$(CC) -o $(EXEC_BOPTIM) $(LOCAL_CFLAGS) boptim_main.o $(LOCAL_OBJ) $(LOCAL_LIB) -lm
	$(STRIP) $(EXEC_BOPTIM) 

$(EXEC_PROOF) : $(LOCAL_OBJ) proof_main.o
	$(CC) -o $(EXEC_PROOF) $(LOCAL_CFLAGS) proof_main.o $(LOCAL_OBJ) $(LOCAL_LIB) -lm
	$(STRIP) $(EXEC_PROOF) 

$(EXEC_SCMAP) : $(LOCAL_OBJ) scmap_main.o
	$(CC) -o $(EXEC_SCMAP) $(LOCAL_CFLAGS) scmap_main.o $(LOCAL_OBJ) $(LOCAL_LIB) -lm
	$(STRIP) $(EXEC_SCMAP) 

$(EXEC_C4MAP) : $(LOCAL_OBJ) c4map_main.o
	$(CC) -o $(EXEC_C4MAP) $(LOCAL_CFLAGS) c4map_main.o $(LOCAL_OBJ) $(LOCAL_LIB) -lm
	$(STRIP) $(EXEC_C4MAP) 

clean :
	-$(RM) -f $(LOCAL_OBJ) $(NET_OBJ)
	-$(RM) -f *.bak .*.bak *~ .*~ core *_main.o


realclean distclean : clean
	-$(RM) -f $(EXEC_PROOF) $(EXEC_NETOP) $(EXEC_BOPTIM) $(EXEC_C4MAP) $(EXEC_SCMAP)


