1 martin 1.22 #//%LICENSE////////////////////////////////////////////////////////////////
|
2 martin 1.23 #//
|
3 martin 1.22 #// Licensed to The Open Group (TOG) under one or more contributor license
4 #// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
5 #// this work for additional information regarding copyright ownership.
6 #// Each contributor licenses this file to you under the OpenPegasus Open
7 #// Source License; you may not use this file except in compliance with the
8 #// License.
|
9 martin 1.23 #//
|
10 martin 1.22 #// Permission is hereby granted, free of charge, to any person obtaining a
11 #// copy of this software and associated documentation files (the "Software"),
12 #// to deal in the Software without restriction, including without limitation
13 #// the rights to use, copy, modify, merge, publish, distribute, sublicense,
14 #// and/or sell copies of the Software, and to permit persons to whom the
15 #// Software is furnished to do so, subject to the following conditions:
|
16 martin 1.23 #//
|
17 martin 1.22 #// The above copyright notice and this permission notice shall be included
18 #// in all copies or substantial portions of the Software.
|
19 martin 1.23 #//
|
20 martin 1.22 #// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
21 martin 1.23 #// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
22 martin 1.22 #// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23 #// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24 #// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25 #// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26 #// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
27 martin 1.23 #//
|
28 martin 1.22 #//////////////////////////////////////////////////////////////////////////
|
29 mike 1.2 ROOT = ../../..
30
31 DIR = Pegasus/WQL
32
33 include $(ROOT)/mak/config.mak
34
|
35 kumpf 1.5 LOCAL_DEFINES = -DPEGASUS_WQL_INTERNAL -DPEGASUS_INTERNALONLY
|
36 mike 1.2
|
37 chip 1.11 ifneq ($(OS), HPUX)
|
38 kumpf 1.21 ifneq ($(OS), zos)
39 EXTRA_INCLUDES = -Int_includes
|
40 r.kieninger 1.15 endif
|
41 kumpf 1.4 endif
|
42 mike 1.2
|
43 mike 1.20 STATIC=1
|
44 mike 1.2 LIBRARY = pegwql
45
|
46 schuur 1.7 LIBRARIES = \
|
47 karl 1.14 pegcommon \
|
48 chuck 1.13 pegquerycommon
|
49 mike 1.2
50 SOURCES = \
|
51 chip 1.11 WQLSelectStatement.cpp \
|
52 chuck 1.12 WQLSelectStatementRep.cpp \
|
53 chip 1.11 WQLYACC.cpp \
54 WQLLEX.cpp \
55 WQLSimplePropertySource.cpp \
56 WQLPropertySource.cpp \
57 WQLInstancePropertySource.cpp \
58 WQLParserState.cpp \
59 WQLOperation.cpp \
60 WQLOperand.cpp \
61 WQLParser.cpp \
62 WQLQueryExpressionRep.cpp
|
63 mike 1.2
64 SOURCES_X = \
|
65 chip 1.11 WQLLEX.cpp \
|
66 mike 1.2
67 include $(ROOT)/mak/library.mak
68
69 ##------------------------------------------------------------------------------
70 ##
71 ## Rules to build LEX AND YACC sources:
72 ##
73 ## To make these files type: "make grammar"
74 ##
|
75 karl 1.24 ## NOTE: Normally developers should never need to compile the WQL grammar.
76 ## The generate source files are committed to CVS as part of any changes
77 ## to the lex or yacc defintions so only developers of the grammar itsel
78 ## need execute the make grammar below.
79 ##
|
80 mike 1.2 ##------------------------------------------------------------------------------
81
82
83 ##
|
84 chip 1.11 ## This pushes BISON_SIMPLE into the environment so that bison will use this
|
85 mike 1.2 ## rather than looking for /usr/local/share/bison.simple.
86 ##
87
88 grammar: yacc_rule lex_rule
89
90 export BISON_SIMPLE = bison.simple
91
92 ##
93 ## Lex rule:
94 ##
95 lex_rule:
96 $(LEX) -oWQLLEX.cpp -PWQL_ WQL.l
97 $(TOUCH) WQLLEX.cpp
|
98 karl 1.24 mu prepend ../nochksrc.txt WQLLEX.cpp
|
99 mike 1.2
100 ##
101 ## Yacc rule:
102 ##
103 yacc_rule:
104 ifeq ($(YACC),yacc)
105 $(YACC) -vd -p WQL_ WQL.y
|
106 kumpf 1.10 $(COPY) "y.tab.c" "WQLYACC.cpp"
107 $(COPY) "y.tab.h" "WQLYACC.h"
|
108 mike 1.2 $(RM) y.tab.c y.tab.h
109 $(TOUCH) WQLYACC.cpp WQLYACC.h
110 else
111 $(YACC) -vd -oWQLtemp -p WQL_ WQL.y
|
112 karl 1.18 $(COPY) "WQLtemp" "WQLYACC.cpp"
113 $(COPY) "WQLtemp.h" "WQLYACC.h"
|
114 mike 1.2 $(RM) WQLtemp WQLtemp.h WQLtemp.output wqltemp.out
115 $(TOUCH) WQLYACC.cpp WQLYACC.h
116 endif
|
117 karl 1.24 mu prepend ../nochksrc.txt WQLYACC.h
118 mu prepend ../nochksrc.txt WQLYACC.cpp
|