You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
4.2 KiB
109 lines
4.2 KiB
# This file is part of the KDE libraries
|
|
# Copyright (C) 1999 Harri Porten (porten@kde.org)
|
|
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2 of the License, or (at your option) any later version.
|
|
|
|
# This library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU Lesser General Public License
|
|
# along with this library; see the file COPYING.LIB. If not, write to
|
|
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
# Boston, MA 02110-1301, USA.
|
|
|
|
YACC = bison
|
|
INCLUDES = $(PCRE2CFLAGS) $(all_includes)
|
|
|
|
lib_LTLIBRARIES = libkjs.la
|
|
|
|
libkjs_la_SOURCES = ustring.cpp date_object.cpp collector.cpp nodes.cpp \
|
|
grammar.cpp lexer.cpp lookup.cpp operations.cpp \
|
|
regexp.cpp function_object.cpp string_object.cpp \
|
|
bool_object.cpp number_object.cpp internal.cpp \
|
|
array_object.cpp math_object.cpp object_object.cpp \
|
|
regexp_object.cpp error_object.cpp function.cpp \
|
|
debugger.cpp value.cpp list.cpp object.cpp \
|
|
interpreter.cpp property_map.cpp nodes2string.cpp \
|
|
identifier.cpp reference.cpp reference_list.cpp \
|
|
scope_chain.cpp dtoa.cpp
|
|
|
|
kjsincludedir = $(includedir)/kjs
|
|
kjsinclude_HEADERS = value.h types.h object.h interpreter.h operations.h \
|
|
ustring.h lookup.h global.h identifier.h property_map.h \
|
|
reference.h reference_list.h completion.h scope_chain.h \
|
|
list.h simple_number.h function.h
|
|
|
|
noinst_HEADERS = internal.h collector.h nodes.h lexer.h lexer.lut.h \
|
|
grammar.h regexp.cpp function_object.h string_object.h \
|
|
bool_object.h number_object.h date_object.h array_object.h \
|
|
math_object.h object_object.h regexp_object.h error_object.h \
|
|
debugger.h array_instance.h context.h dtoa.h regexp.h
|
|
|
|
if include_VERSION_SCRIPT
|
|
VSCRIPT = -Wl,--version-script=$(srcdir)/libkjs.map
|
|
endif
|
|
|
|
libkjs_la_LDFLAGS = -version-info 3:0:2 -no-undefined $(VSCRIPT) \
|
|
$(USER_LDFLAGS) $(all_libraries)
|
|
libkjs_la_LIBADD = -lm $(LIBPCRE2)
|
|
|
|
EXTRA_DIST = grammar.y
|
|
|
|
parser: $(srcdir)/grammar.y
|
|
cd $(srcdir); \
|
|
$(YACC) -d -p kjsyy grammar.y && mv grammar.tab.c grammar.cpp; \
|
|
if test -f grammar.tab.h; then \
|
|
if cmp -s grammar.tab.h grammar.h; then rm -f grammar.tab.h; \
|
|
else mv grammar.tab.h grammar.h; fi \
|
|
else :; fi
|
|
|
|
LUT_FILES = math_object.lut.h lexer.lut.h array_object.lut.h date_object.lut.h string_object.lut.h number_object.lut.h
|
|
|
|
CREATE_HASH_TABLE = $(srcdir)/create_hash_table
|
|
|
|
lexer.lut.h: $(srcdir)/keywords.table $(CREATE_HASH_TABLE)
|
|
$(PERL) $(CREATE_HASH_TABLE) $(srcdir)/keywords.table -i > $@
|
|
lexer.lo: lexer.lut.h
|
|
|
|
# Can't use %.lut.h: %.cpp, it's not portable.
|
|
|
|
array_object.lut.h : $(srcdir)/array_object.cpp $(CREATE_HASH_TABLE)
|
|
$(PERL) $(CREATE_HASH_TABLE) $(srcdir)/array_object.cpp -i > $@
|
|
array_object.lo: array_object.lut.h
|
|
math_object.lut.h : $(srcdir)/math_object.cpp $(CREATE_HASH_TABLE)
|
|
$(PERL) $(CREATE_HASH_TABLE) $(srcdir)/math_object.cpp -i > $@
|
|
math_object.lo: math_object.lut.h
|
|
date_object.lut.h : $(srcdir)/date_object.cpp $(CREATE_HASH_TABLE)
|
|
$(PERL) $(CREATE_HASH_TABLE) $(srcdir)/date_object.cpp -i > $@
|
|
date_object.lo: date_object.lut.h
|
|
number_object.lut.h : $(srcdir)/number_object.cpp $(CREATE_HASH_TABLE)
|
|
$(PERL) $(CREATE_HASH_TABLE) $(srcdir)/number_object.cpp -i > $@
|
|
number_object.lo: number_object.lut.h
|
|
string_object.lut.h : $(srcdir)/string_object.cpp $(CREATE_HASH_TABLE)
|
|
$(PERL) $(CREATE_HASH_TABLE) $(srcdir)/string_object.cpp -i > $@
|
|
string_object.lo: string_object.lut.h
|
|
|
|
CLEANFILES = $(LUT_FILES)
|
|
|
|
## test program (in one program for easier profiling/memory debugging)
|
|
EXTRA_PROGRAMS = testkjs_static
|
|
testkjs_static_SOURCES = testkjs.cpp
|
|
testkjs_static_LDADD = $(LIBPCRE2) libkjs.la
|
|
testkjs_static_LDFLAGS = -static
|
|
|
|
## test program (linked to libkjs)
|
|
check_PROGRAMS = testkjs
|
|
testkjs_SOURCES = testkjs.cpp
|
|
testkjs_LDADD = libkjs.la
|
|
|
|
DOXYGEN_REFERENCES = tdecore
|
|
include ../admin/Doxyfile.am
|
|
|
|
.PHONY: parser
|
|
|