# /*------------------------------------------------------------\
# |                                                             |
# | 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 Library 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.                     |
# |                                                             |
# \------------------------------------------------------------*/
include $(ALLIANCE_TOP)/etc/$(ALLIANCE_OS).mk
include $(ALLIANCE_TOP)/etc/libraries.mk
include local.mk

LOCAL_CFLAGS = -g -Wall -D$(ALLIANCE_OS)

LOCAL_INCLUDE = -I$(LOCAL_TARGET_INC) -I$(ALLIANCE_INCLUDE)

LOCAL_LIB = -L$(LOCAL_TARGET_LIB) \
            -L$(ALLIANCE_LIB)     \
                $(SCL_L) \
                $(MLU_L) \
                $(MAL_L) \
                $(MCL_L) \
                $(MEL_L) \
                $(MHL_L) \
                $(MSL_L) \
                $(MVL_L) \
                $(MGL_L) \
                $(MLO_L) \
                $(MUT_L) \
                $(RCN_L) \
                $(ABV_L) \
                $(ABE_L) \
                $(BDD_L) \
                $(ABL_L) \
                $(AUT_L)

LOCAL_MBK_DEFINE = -DMLO_H='"$(MLO_H)"' \
                   -DRCN_H='"$(RCN_H)"' \
                   -DMUT_H='"$(MUT_H)"' \
                   -DABL_H='"$(ABL_H)"' \
                   -DBDD_H='"$(BDD_H)"' \
                   -DABE_H='"$(ABE_H)"' \
                   -DABV_H='"$(ABV_H)"' \
                   -DAUT_H='"$(AUT_H)"'

LOCAL_SCL_DEFINE = -DSCL_H='"scl105.h"'

LOCAL_DEFINE = $(LOCAL_MBK_DEFINE) $(LOCAL_SCL_DEFINE)

LOCAL_HEADER = $(LOCAL_INCLUDE) $(LOCAL_DEFINE) 

LOCAL_SCL_LIB    = libScl105.a
LOCAL_SCL_INC    = scl105.h
LOCAL_SCL_TST    = scltest

LOCAL_SCL_OBJ = schalloc.o schfree.o  schadd.o  schdel.o \
                schview.o  scherror.o schenv.o  schget.o

LOCAL_SCP_OBJ = scpalloc.o scpfree.o scpadd.o scpdel.o scpbuild.o 

LOCAL_SCG_OBJ = scglofig.o scgbefig.o

LOCAL_TST_OBJ = main.o

LOCAL_OBJ = $(LOCAL_SCL_OBJ) $(LOCAL_SCP_OBJ) $(LOCAL_SCG_OBJ)

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

distrib : $(LOCAL_TARGET_INC)/$(LOCAL_SCL_INC) \
          $(LOCAL_TARGET_LIB)/$(LOCAL_SCL_LIB)

test : $(LOCAL_TARGET_INC)/$(LOCAL_SCL_INC) \
       $(LOCAL_TARGET_LIB)/$(LOCAL_SCL_LIB) \
       $(LOCAL_TARGET_BIN)/$(LOCAL_SCL_TST)

$(LOCAL_TARGET_BIN)/$(LOCAL_SCL_TST) : $(LOCAL_TST_OBJ) \
        $(LOCAL_TARGET_INC)/$(LOCAL_SCL_INC) \
        $(LOCAL_TARGET_LIB)/$(LOCAL_SCL_LIB)
	$(CC) -o $(LOCAL_TARGET_BIN)/$(LOCAL_SCL_TST) $(LOCAL_TST_OBJ) $(LOCAL_LIB)

$(LOCAL_TARGET_INC)/$(LOCAL_SCL_INC) : $(LOCAL_SCL_INC)
	$(CP) $(LOCAL_SCL_INC) $(LOCAL_TARGET_INC)/$(LOCAL_SCL_INC)

$(LOCAL_TARGET_LIB)/$(LOCAL_SCL_LIB) : $(LOCAL_OBJ)
	$(AR) $(ARFLAGS) $(LOCAL_TARGET_LIB)/$(LOCAL_SCL_LIB) $(LOCAL_OBJ)
	$(RANLIB) $(LOCAL_TARGET_LIB)/$(LOCAL_SCL_LIB)

realclean : clean
	$(RM) -f $(LOCAL_TARGET_LIB)/$(LOCAL_SCL_LIB) \
               $(LOCAL_TARGET_INC)/$(LOCAL_SCL_INC) \
               $(LOCAL_TARGET_BIN)/$(LOCAL_SCL_TST)

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

