Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / TAO_IDL / tao_idl_fe.mpc
blob64074b3d952d66cae4a9290020fb42a787e40e73
1 // -*- MPC -*-
2 project(TAO_IDL_GEN) {
3   requires += tao_idl_fe_gen
4   custom_only = 1
6   verbatim(gnuace, extension, 1) {
7     OUTPUT_DIRECTORY =
8   }
10   verbatim(gnuace, local) {
11     BISON_FLAGS := -d --feature=caret --warnings=error=deprecated --warnings=error=empty-rule --warnings=error=conflicts-rr
12     all: fe/fe_lookup.cpp fe/idl.yy.cpp fe/idl.tab.cpp fe/idl.tab.hpp
13     GPERF ?= $(ACE_ROOT)/bin/ace_gperf
14     fe/keywords.dat.tmp: fe/keywords.dat
15     "   $(GPERF) -M -J -c -C -D -E -T -f 0 -a -o -t -p -K keyword_ -L C++ -Z TAO_IDL_CPP_Keyword_Table -N lookup -k1,2,$$ $^ > $@"
17     fe/fe_lookup.cpp: fe/keywords.dat.tmp
18     "   sed -f fe/post_gperf.sed $^ > $@"
20     fe/idl.yy.cpp: fe/idl.ll
21     "   @echo 'WARNING: Potentially outdated $@'"
22     "   @echo '         either touch(1) the file or explicitly'"
23     "   @echo '         generate it using:'"
24     "   @echo '    make lex.yy'"
26     .PHONY: lex.yy
27     lex.yy:
28     "ifeq ($(notdir $(LEX)), flex)"
29     "   $(LEX) -t -P tao_yy -ofe/idl.yy.cpp fe/idl.ll | \\"
30     "   sed -f fe/post_flex.sed > fe/idl.yy.cpp"
31     "else"
32     "   @echo 'ERROR: You must use flex 2.6.4 or higher to process this file'"
33     "   @/bin/false"
34     "endif"
36     fe/idl.tab.cpp fe/idl.tab.hpp: fe/idl.ypp
37     "   @echo 'WARNING: Potentially outdated $@'"
38     "   @echo '         either touch(1) the file or explicitly'"
39     "   @echo '         generate it using:'"
40     "   @echo '    make y.tab'"
42     debug_bison: BISON_FLAGS += --report=all --report-file=bison_report
43     debug_bison: y.tab
45     .PHONY: y.tab
46     y.tab: fe/idl.ypp
47     "ifeq ($(notdir $(YACC)), bison)"
48     "   $(YACC) $(BISON_FLAGS) -p tao_yy -b fe/idl fe/idl.ypp"
49     "else"
50     "   @echo 'ERROR: You must use bison 3 or higher to process this file'"
51     "   @/bin/false"
52     "endif"
53   }
56 project(TAO_IDL_FE) : acelib, install_lib, tao_output {
57   sharedname   = TAO_IDL_FE
58   dynamicflags += TAO_IDL_FE_BUILD_DLL
59   includes    += $(TAO_ROOT)
60   includes    += include fe
61   after       += TAO_IDL_GEN
63   specific {
64     // Override the template value for optimize.  Building the frontend
65     // with optimization turned on doesn't seem to work (at least not with
66     // vc6 or vc71).  This is due to the use of addresses of static objecs
67     // within the code.
68     optimize =
69   }
71   Source_Files {
72     fe
73     ast
74     util
75     narrow
76   }
78   Header_Files {
79     include
80     fe
81   }
83   Template_Files {
84     include/utl_scope_T.cpp
85   }