srcdir=@srcdir@ VPATH=@srcdir@ prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ top_builddir=@my_top_builddir@ OBJECTS=src/template/parser.lo \ src/template/lexer.lo \ src/template/template.lo \ src/data/parser.lo \ src/data/lexer.lo \ src/data/ddl.lo \ src/common/error.lo \ src/common/stream.lo \ src/common/array.lo \ src/common/tree.lo \ src/common/hash.lo \ src/common/scope.lo \ src/common/resolver.lo \ src/common/variables.lo ETL_MAJOR_VERSION=@ETL_MAJOR_VERSION@ ETL_DOTTED_VERSION=@ETL_DOTTED_VERSION@ TARGET_LIB=libetl-$(ETL_MAJOR_VERSION).la PROGRAMS=src/cmdline/etl tests/compare HEADERS=include/etl_template.h \ include/etl_data.h \ include/etl_error.h \ include/etl_variables.h \ include/etl_array.h \ include/etl_hash.h \ include/etl_stream.h \ include/etl_resolver.h \ include/etl_version.h \ src/template/lexer.h \ src/template/common.h \ src/common/tree.h \ src/data/lexer.h \ src/data/common.h LIBTOOL=@LIBTOOL@ --silent LEMON=tools/lemon LEMON=tools/lemon MKDIR = @mkdir_p@ INSTALL = @INSTALL@ CC=@CC@ CFLAGS=@CFLAGS@ CPPFLAGS=@CPPFLAGS@ INCLUDES=-I$(srcdir)/include \ $(EXTRA_INCLUDES) LDFLAGS=@LDFLAGS@ PKGCONFIG_FILE=@PKGCONFIG_FILE@ all: $(TARGET_LIB) $(PROGRAMS) src/cmdline/etl.lo: src/cmdline/etl.c $(HEADERS) src/data/lexer.lo: src/data/lexer.c $(HEADERS) src/data/parser.lo: src/data/parser.c $(HEADERS) src/data/ddl.lo: src/data/ddl.c $(HEADERS) src/template/template.lo: src/template/template.c $(HEADERS) src/template/lexer.lo: src/template/lexer.c $(HEADERS) src/template/parser.lo: src/template/parser.c $(HEADERS) src/common/variables.lo: src/common/variables.c $(HEADERS) src/common/resolver.lo: src/common/resolver.c $(HEADERS) tests/compare.lo: tests/compare.c $(HEADERS) $(LEMON): tools/lemon.c tools/lempar.c $(LIBTOOL) --mode=link $(CC) -static -o $@ tools/lemon.c src/data/parser.c: $(LEMON) src/data/parser.y $(LEMON) src/data/parser.y # there are some errors here that we need to ignore... should fix that. src/template/parser.c: $(LEMON) src/template/parser.y -$(LEMON) src/template/parser.y $(TARGET_LIB): $(OBJECTS) $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -rpath $(libdir) -o $@ $^ src/cmdline/etl: $(TARGET_LIB) src/cmdline/etl.lo $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -static -o $@ $^ tests/compare: $(TARGET_LIB) tests/compare.lo $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -static -o $@ $^ check: tests/compare @rm -f test.log @for i in `find tests -name \*.etl | sed 's/\.etl//' | sort`; do \ ./tests/compare $$i >> ./test.log; \ if [ $$? -ne 0 ]; then \ printf "running %-20s\tFAILURE\n" $$i.etl; \ else \ printf "running %-20s\tSUCCESS\n" $$i.etl; \ fi \ done; @if [ ! -s test.log ]; then \ rm -f test.log; \ else \ printf "\noutput from failures can be found in test.log\n"; \ fi docs: doxygen www/doxygen.conf site: src/cmdline/etl @for i in `find www/content -name \*.etl | \ sed 's/\.etl//' | \ sed 's/www\/content\///' | \ sort`; do \ rm -f www/site/$$i.html; \ ./src/cmdline/etl -Iwww/templates \ -Iwww/content \ -Dtmpl=$$i.etl \ -Dpage=$$i.html \ www/templates/wrapper.etl \ www/content/$$i.ddl >> www/site/$$i.html; \ done; clean: @rm -rf $(TARGET_LIB) @rm -rf $(OBJECTS) @rm -rf $(PROGRAMS) @rm -rf $(OBJECTS:.lo=.o) @rm -rf src/data/parser.c @rm -rf src/template/parser.c @rm -rf tests/compare.lo tests/compare.o @rm -rf src/cmdline/etl.lo src/cmdline/etl.o @rm -rf www/site/*.html @rm -rf www/site/doc/*.html extraclean: clean @rm -rf src/parser.c @rm -rf src/parser.h @rm -rf src/parser.out @rm -rf src/lexer.c distclean: clean @rm -rf Makefile @rm -rf config.nice @rm -rf config.log @rm -rf config.status @rm -rf .libs @rm -rf tests/.libs @rm -rf src/.libs @rm -rf src/cmdline/.libs install-pkg-config: if test "x$(PKGCONFIG_FILE)" != "x"; then \ $(MKDIR) $(DESTDIR)$(libdir)/pkgconfig; \ cp etl.pc $(PKGCONFIG_FILE); \ $(INSTALL) -m 644 $(PKGCONFIG_FILE) $(DESTDIR)$(libdir)/pkgconfig; \ rm $(PKGCONFIG_FILE); \ fi install: $(TARGET_LIB) install-pkg-config $(MKDIR) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir) $(LIBTOOL) --mode=install $(INSTALL) -m 644 $(TARGET_LIB) $(DESTDIR)$(libdir) for i in $(srcdir)/include/*.h; do \ $(INSTALL) -m 644 $$i $(DESTDIR)$(includedir); \ done .SUFFIXES: .SUFFIXES: .c .lo .o .c.lo: $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -c -o $@ $< && touch $@