#//%LICENSE////////////////////////////////////////////////////////////////
#//
#// Licensed to The Open Group (TOG) under one or more contributor license
#// agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
#// this work for additional information regarding copyright ownership.
#// Each contributor licenses this file to you under the OpenPegasus Open
#// Source License; you may not use this file except in compliance with the
#// License.
#//
#// Permission is hereby granted, free of charge, to any person obtaining a
#// copy of this software and associated documentation files (the "Software"),
#// to deal in the Software without restriction, including without limitation
#// the rights to use, copy, modify, merge, publish, distribute, sublicense,
#// and/or sell copies of the Software, and to permit persons to whom the
#// Software is furnished to do so, subject to the following conditions:
#//
#// The above copyright notice and this permission notice shall be included
#// in all copies or substantial portions of the Software.
#//
#// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
#// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
#// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
#// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
#// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
#// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
#// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#//
#//////////////////////////////////////////////////////////////////////////

##############################################################
# Update the flex version in the following line to reflect
# the version of flex used the last time the parser files
# were generated. Never use an older version of flex than
# indicated here. All of the generated files should be committed
# after adding the OpenPegasus license to the top of each.
# *************   REQUIRES FLEX 2.5.35 or later   ***********
# Update the Bison version in the following line to reflect
# the version of Bison used the last time the parser files
# were generated. Never use an older version of Bison than
# indicated here. All of the generated files should be committed
# after adding the OpenPegasus license to the top of each.
# ******************   REQUIRES BISON 2.3   ***************
# DO NOT USE Later than BISON 2.3 because of licensing issues
# between OpenPegasus and Bison licensing on generated code.
############################################################## 

ROOT = ../../..

DIR = Pegasus/Compiler

include $(ROOT)/mak/config.mak

EXTRA_INCLUDES = $(SYS_INCLUDES)

ifeq ($(OS_TYPE),windows)
EXTRA_INCLUDES += -I./nt_includes
endif

##LEX_DEBUG = -T
##BISON_DEBUG=--report=all -t -v

LOCAL_DEFINES = -DPEGASUS_COMPILER_INTERNAL

## This pushes BISON_SIMPLE into the environment so that
## bison will use this rather than looking for /usr/local/share/bison.simple.

export BISON_SIMPLE = bison.simple

all: cimmof_tab.cpp cimmof_tab.h cimmof_lex.cpp

cimmof_tab.cpp cimmof_tab.h: cimmof.y
ifeq ($(YACC),yacc)
	$(YACC) -vd -p cimmof_ cimmof.y
	$(COPY) y.tab.c cimmof_tab.cpp
	$(COPY) y.tab.h cimmof_tab.h
	$(RM) y.tab.c y.tab.h
else
	$(YACC) -vd -ocimmoftemp -p cimmof_ cimmof.y
	$(COPY) cimmoftemp cimmof_tab.cpp
	$(COPY) cimmoftemp.h cimmof_tab.h
	$(RM) cimmoftemp cimmoftemp.h
endif
	mu prepend ../nochksrc.txt cimmof_tab.cpp
	mu prepend ../nochksrc.txt cimmof_tab.h

cimmof_lex.cpp: cimmof.l cimmof_tab.h
	$(LEX) -ocimmof_lex.cpp -Pcimmof_ cimmof.l
	mu prepend ../nochksrc.txt cimmof_lex.cpp

## Clean out the files generated by lex and yacc
clean:
	$(RM) cimmof_lex.cpp cimmof_tab.cpp cimmof_tab.h cimmoftemp.out \
	cimmoftemp.output
