Merge pull request #1551 from DOCGroup/plm_jira_333
[ACE_TAO.git] / TAO / TAO_IDL / tao_idl_fe.mpc
blob020936b5c89263fe3134f7dc0088995e51047b48
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/fe_lookup.cpp: 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,$$ $^ | sed -f fe/post_gperf.sed > $@"
17     fe/idl.yy.cpp: fe/idl.ll
18     "   @echo 'WARNING: Potentially outdated $@'"
19     "   @echo '         either touch(1) the file or explicitly'"
20     "   @echo '         generate it using:'"
21     "   @echo '    make lex.yy'"
23     .PHONY: lex.yy
24     lex.yy:
25     "ifeq ($(notdir $(LEX)), flex)"
26     "   $(LEX) -t -P tao_yy -ofe/idl.yy.cpp fe/idl.ll | \\"
27     "   sed -f fe/post_flex.sed > fe/idl.yy.cpp"
28     "else"
29     "   @echo 'ERROR: You must use flex 2.6.4 or higher to process this file'"
30     "   @/bin/false"
31     "endif"
33     fe/idl.tab.cpp fe/idl.tab.hpp: fe/idl.ypp
34     "   @echo 'WARNING: Potentially outdated $@'"
35     "   @echo '         either touch(1) the file or explicitly'"
36     "   @echo '         generate it using:'"
37     "   @echo '    make y.tab'"
39     debug_bison: BISON_FLAGS += --report=all --report-file=bison_report
40     debug_bison: y.tab
42     .PHONY: y.tab
43     y.tab: fe/idl.ypp
44     "ifeq ($(notdir $(YACC)), bison)"
45     "   $(YACC) $(BISON_FLAGS) -p tao_yy -b fe/idl fe/idl.ypp"
46     "else"
47     "   @echo 'ERROR: You must use bison 3 or higher to process this file'"
48     "   @/bin/false"
49     "endif"
50   }
53 project(TAO_IDL_FE) : acelib, conv_lib, tao_output {
54   sharedname   = TAO_IDL_FE
55   dynamicflags += TAO_IDL_FE_BUILD_DLL
56   includes    += $(TAO_ROOT)
57   includes    += include fe
58   after       += TAO_IDL_GEN
60   specific {
61     // Override the template value for optimize.  Building the frontend
62     // with optimization turned on doesn't seem to work (at least not with
63     // vc6 or vc71).  This is due to the use of addresses of static objecs
64     // within the code.
65     optimize =
66   }
68   Source_Files {
69     fe
70     ast
71     util
72     narrow
73   }
75   Header_Files {
76     include
77     fe
78   }
80   Template_Files {
81     include/utl_scope_T.cpp
82   }