# /*------------------------------------------------------------\
# |                                                             |
# | This file is part of the Alliance CAD System Copyright      |
# | (C) Laboratoire LIP6 - Dpartement ASIM Universite P&M 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.                     |
# |                                                             |
# \------------------------------------------------------------*/
# /*------------------------------------------------------------\
# |                                                             |
# | Tool   :                      SCAN                          |
# |                                                             |
# | File   :                    Makefile                        |
# |                                                             |
# | Author :                                                    |
# |                                                             |
# \------------------------------------------------------------*/

include $(ALLIANCE_TOP)/etc/$(ALLIANCE_OS).mk
include $(ALLIANCE_TOP)/etc/libraries.mk
include local.mk

# /*------------------------------------------------------------\
# |                                                             |
# |                            Variables                        |
# |                                                             |
# \------------------------------------------------------------*/

LOCAL_CFLAGS = $(CFLAGS) -D$(ALLIANCE_OS)

# /*------------------------------------------------------------\
# |                                                             |
# |                            Binary                           |
# |                                                             |
# \------------------------------------------------------------*/

LOCAL_SCAN_BIN    = scapin

# /*------------------------------------------------------------\
# |                                                             |
# |                             Include                         |
# |                                                             |
# \------------------------------------------------------------*/

LOCAL_INCLUDE = -I$(ALLIANCE_INCLUDE)

# /*------------------------------------------------------------\
# |                                                             |
# |                             Library                         |
# |                                                             |
# \------------------------------------------------------------*/

LOCAL_MBK_LIB = -L$(ALLIANCE_LIB) \
                $(MLU_L) \
                $(MCL_L) \
                $(MEL_L) \
                $(MHL_L) \
                $(MVL_L) \
                $(MLO_L) \
                $(MUT_L) \
		$(MAL_L) \
		$(RCN_L) \
		$(MSL_L) \
		$(MGL_L)

LOCAL_AUT_LIB = -L$(LOCAL_TARGET_LIB) \
                $(AUT_L)

LOCAL_LIB = $(LOCAL_AUT_LIB) $(LOCAL_MBK_LIB)

# /*------------------------------------------------------------\
# |                                                             |
# |                             Define                          |
# |                                                             |
# \------------------------------------------------------------*/

LOCAL_MBK_DEFINE = -DMUT_H='"$(MUT_H)"' \
                   -DMLO_H='"$(MLO_H)"' \
		   -DMLU_H='"$(MLU_H)"' \
		   -DRCN_H='"$(RCN_H)"'

LOCAL_AUT_DEFINE = -DAUT_H='"$(AUT_H)"'

LOCAL_SCAN_DEFINE = -DALLIANCE_VERSION=$(ALLIANCE_VERSION) \
                    -DSCAN_VERSION='"1.00"' \
                    -DALLIANCE_TOP='"$(ALLIANCE_TOP)"' \
                    -DSCAN_DEFAULT_PARAM_NAME='"etc/sxlib.$(LOCAL_SCAN_BIN)"' \

LOCAL_DEFINE = $(LOCAL_MBK_DEFINE) $(LOCAL_SCAN_DEFINE) \
               $(LOCAL_AUT_DEFINE) 

LOCAL_HEADER = $(LOCAL_INCLUDE) $(LOCAL_DEFINE)

# /*------------------------------------------------------------\
# |                                                             |
# |                             Object                          |
# |                                                             |
# \------------------------------------------------------------*/

LOCAL_SCAN_OBJ = scan_main.o scan_param.o  scan_path.o scan_insert.o

LOCAL_OBJ = $(LOCAL_SCAN_OBJ)

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

# /*------------------------------------------------------------\
# |                                                             |
# |                             Scan                            |
# |                                                             |
# \------------------------------------------------------------*/

distrib : $(LOCAL_TARGET_BIN)/$(LOCAL_SCAN_BIN)

$(LOCAL_TARGET_BIN)/$(LOCAL_SCAN_BIN) : $(LOCAL_OBJ)
	$(CC) $(LOCAL_CFLAGS) -o $(LOCAL_TARGET_BIN)/$(LOCAL_SCAN_BIN) \
              $(LOCAL_OBJ) $(LOCAL_LIB) -lm 
	$(STRIP) $(LOCAL_TARGET_BIN)/$(LOCAL_SCAN_BIN)

force : $(LOCAL_OBJ)
	$(CC) $(LOCAL_CFLAGS) -o $(LOCAL_TARGET_BIN)/$(LOCAL_SCAN_BIN) \
              $(LOCAL_OBJ) $(LOCAL_LIB) -lm 

# /*------------------------------------------------------------\
# |                                                             |
# |                              Clean                          |
# |                                                             |
# \------------------------------------------------------------*/


clean :
	$(RM) -f $(LOCAL_OBJ)


# /*------------------------------------------------------------\
# |                                                             |
# |                          RealClean                          |
# |                                                             |
# \------------------------------------------------------------*/


realclean : clean
	$(RM) -f $(LOCAL_TARGET_BIN)/$(LOCAL_SCAN_BIN)
