To make automake aware of lex and yacc files, they must be renamed.
add_definitions(-DIN_GINAC)
bison_target(ginsh_parser
- ginsh_parser.yy
+ ginsh_parser.ypp
${CMAKE_CURRENT_BINARY_DIR}/ginsh_parser.cpp)
flex_target(ginsh_lexer
- ginsh_lexer.ll
+ ginsh_lexer.lpp
${CMAKE_CURRENT_BINARY_DIR}/ginsh_lexer.cpp)
add_flex_bison_dependency(ginsh_lexer ginsh_parser)
)
set(ginsh_HEADERS
- ginsh_parser.h
+ ginsh_parser.hpp
ginsh.h
ginsh_fcn_help.h
ginsh_op_help.h
set(ginsh_DISTRIB
${ginsh_SOURCES}
${ginsh_HEADERS}
- ginsh_parser.yy
- ginsh_lexer.ll
+ ginsh_parser.ypp
+ ginsh_lexer.lpp
ginsh.1.in
ginsh_fcn_help.py
ginsh_op_help.py
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ginsh_parser.h
- COMMAND ${CMAKE_COMMAND} -E copy ginsh_parser.hpp ginsh_parser.h
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ginsh_parser.hpp
DEPENDS ${BISON_ginsh_parser_OUTPUTS}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
## Process this file with automake to produce Makefile.in
bin_PROGRAMS = ginsh
-ginsh_SOURCES = ginsh_parser.yy ginsh_lexer.ll ginsh.h ginsh_extensions.h
+BUILT_SOURCES = ginsh_parser.cpp ginsh_lexer.cpp
+ginsh_SOURCES = ginsh_parser.ypp ginsh_lexer.lpp ginsh.h ginsh_extensions.h
ginsh_LDADD = ../ginac/libginac.la $(GINSH_LIBS)
AM_CPPFLAGS = -I$(srcdir)/../ginac -I../ginac -DIN_GINAC
man_MANS = ginsh.1
CLEANFILES = ginsh_fcn_help.h ginsh_op_help.h
-EXTRA_DIST = ginsh_parser.h ginsh_fcn_help.py ginsh_op_help.py
+EXTRA_DIST = ginsh_fcn_help.py ginsh_op_help.py
# files created by sed scripts
ginsh_fcn_help.h: ginsh.1.in $(srcdir)/ginsh_fcn_help.py
ginsh_op_help.h: ginsh.1 $(srcdir)/ginsh_op_help.py
$(PYTHON) $(srcdir)/ginsh_op_help.py -o $@ $<
-ginsh_parser.o: ginsh_fcn_help.h ginsh_op_help.h ginsh_parser.h
+ginsh_parser.o: ginsh_fcn_help.h ginsh_op_help.h ginsh_parser.cpp
-/** @file ginsh_lexer.ll
+/** @file ginsh_lexer.lpp
*
* Lexical analyzer definition for ginsh.
* This file must be processed with flex. */
#endif
#include "ginsh.h"
-#include "ginsh_parser.h"
+#include "ginsh_parser.hpp"
#define YY_INPUT(buf, result, max_size) (result = ginsh_input(buf, max_size))