summaryrefslogtreecommitdiffstats
path: root/kjs/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'kjs/Makefile.am')
-rw-r--r--kjs/Makefile.am108
1 files changed, 108 insertions, 0 deletions
diff --git a/kjs/Makefile.am b/kjs/Makefile.am
new file mode 100644
index 000000000..59fe7e855
--- /dev/null
+++ b/kjs/Makefile.am
@@ -0,0 +1,108 @@
+# 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 = $(PCRECFLAGS) $(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 $(LIBPCRE)
+
+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 = $(LIBPCRE) libkjs.la
+testkjs_static_LDFLAGS = -static
+
+## test program (linked to libkjs)
+check_PROGRAMS = testkjs
+testkjs_SOURCES = testkjs.cpp
+testkjs_LDADD = libkjs.la
+
+DOXYGEN_REFERENCES = kdecore
+include ../admin/Doxyfile.am
+
+.PHONY: parser
+