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

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

LOCAL_TRGLIB      = $(TARGET_LIB)
LOCAL_TRGINC      = $(TARGET_INCLUDE)

LOCAL_INC         = ../include

LOCAL_CFLAGS      = $(CFLAGS) -c
LOCAL_CPPFLAGS    = $(CPPFLAGS) -I$(LOCAL_INC) -I$(ALLIANCE_INCLUDE) \
                    -DPAT_H='<pat106.h>' -DPPT_H='<ppt106.h>' \
                    -DMUT_H='<$(MUT_H)>'

LOCAL_YACCFLAGS   = $(YACCFLAGS) -d -p
LOCAL_LEXFLAGS    = $(LEXFLAGS) -t

LOCAL_OBJECTS     = pat_lodpaseq.o pat_savpaseq.o pat_prspat.o pat_drvpat.o \
                    pat_pattostr.o pat_decl.o     pat_desc.o     pat_lex.o

.c.o :
	$(CC) $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS)  $<

distrib : $(LOCAL_TRGLIB)/libPpt106.a

$(LOCAL_TRGLIB)/libPpt106.a : $(LOCAL_OBJECTS)
	$(CP) $(LOCAL_INC)/ppt106.h $(LOCAL_TRGINC)
	$(AR) $(ARFLAGS) $(LOCAL_TRGLIB)/libPpt106.a $(LOCAL_OBJECTS)
	-$(RANLIB) $(LOCAL_TRGLIB)/libPpt106.a

pat_decl.c : pat_decl.yac
	$(YACC) $(LOCAL_YACCFLAGS) pat_decl pat_decl.yac
	$(SED) -e 's/pat_decllex/pat_lex/g' y.tab.c > pat_decl.c
	$(RM) y.tab.c 

pat_desc.c : pat_desc.yac
	$(YACC) $(LOCAL_YACCFLAGS) pat_desc pat_desc.yac
	$(SED) -e 's/pat_desclex/pat_lex/g' y.tab.c > pat_desc.c
	$(RM) y.tab.c

pat_lex.c : pat_pars.lex y.tab.h
	$(LEX) $(LOCAL_LEXFLAGS) pat_pars.lex > pat_lex.c


clean :
	$(RM) -f $(LOCAL_OBJECTS)
	$(RM) -f pat_lex.c y.tab.h pat_desc.c pat_decl.c
	$(RM) -f distrib

realclean : clean
	$(RM) -f $(LOCAL_TRGLIB)/libPpt106.a $(LOCAL_TRGINC)/ppt106.h
