#
# 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.
#

VERSION = 2.9
HEADERS = struct.h includes.h

SOURCES = ring2.c\
          param.c\
          sesame.c\
          lirevues.c\
          struct.c\
          struct2.c\
          lireplace.c\
          placement.c\
          barre.c\
          deport.c\
          routalim.c\
          routage.c\
          posercircuit.c\
          bigvia.c\
          compress.c\
          distance.c\
          stat.c

OBJ     = ring2.o\
          param.o\
          sesame.o\
          lirevues.o\
          struct.o\
          struct2.o\
          lireplace.o\
          placement.o\
          barre.o\
          deport.o\
          routalim.o\
          routage.o\
          posercircuit.o\
          bigvia.o\
          compress.o\
          distance.o\
          stat.o\
          interp.yac.tab.o \
          lex.yy.o 

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

ALC_INC = -I$(ALLIANCE_INCLUDE) \
          -DMGN_H='"$(MGN_H)"' \
          -DMLU_H='"$(MLU_H)"' \
          -DMPU_H='"$(MPU_H)"' \
          -DMLO_H='"$(MLO_H)"' \
          -DMPH_H='"$(MPH_H)"' \
          -DMUT_H='"$(MUT_H)"'

ALC_LIB = -L$(ALLIANCE_LIB) \
          $(MGN_L) \
          $(MLU_L) \
          $(MPU_L) \
          $(MCP_L) \
          $(MAP_L) \
          $(MMG_L) \
          $(MCL_L) \
          $(MGL_L) \
          $(MAL_L) \
          $(MVL_L) \
          $(MEL_L) \
          $(MSL_L) \
          $(MHL_L) \
          $(RCN_L) \
          $(MLO_L) \
          $(MPH_L) \
          $(MUT_L)

EXTRAFLAGS = $(ALC_INC) \
             -DVERSION='"$(VERSION)"' \
             -D$(MACHINE) \
             -DALLIANCE_VERSION=$(ALLIANCE_VERSION)

distrib : $(TARGET_BIN)/ring

$(TARGET_BIN)/ring : $(OBJ)
	$(CC) $(CFLAGS) $(OBJ) $(ALC_LIB) -o $(TARGET_BIN)/ring
	$(STRIP) $(TARGET_BIN)/ring

.c.o        : $(HEADERS)
	$(CC) $(CFLAGS) $(EXTRAFLAGS) -c $<

lex.yy.o : interp.lex $(HEADERS)
	$(LEX) interp.lex
	$(CC) $(CFLAGS) $(EXTRAFLAGS) -c lex.yy.c
interp.yac.tab.o : interp.yac $(HEADERS)
	$(YACC) -d -v interp.yac
	$(CC) $(CFLAGS) $(EXTRAFLAGS) -c interp.yac.tab.c

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

realclean: clean
	$(RM) -f $(TARGET_BIN)/ring
