srcdir=@srcdir@ VPATH=@srcdir@ prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ OBJECTS=src/parser.lo src/lexer.lo src/template.lo ETL_TEMPLATE_MAJOR_VERSION=@ETL_TEMPLATE_MAJOR_VERSION@ ETL_TEMPLATE_DOTTED_VERSION=@ETL_TEMPLATE_DOTTED_VERSION@ TARGET_LIB=libetl-$(ETL_TEMPLATE_MAJOR_VERSION).la PROGRAMS=src/cmdline/etl tests/compare HEADERS=include/etl_template.h src/lexer.h src/common.h LIBTOOL=@APR_LIBTOOL@ --silent MKDIR = @mkdir_p@ INSTALL = @INSTALL@ CC=@CC@ CFLAGS=@CFLAGS@ CPPFLAGS=@CPPFLAGS@ INCLUDES=-I$(srcdir)/include \ -I@APR_INCLUDEDIR@ \ -I@APU_INCLUDEDIR@ \ $(EXTRA_INCLUDES) LDFLAGS=@LDFLAGS@ LIBS=@ETL_TEMPLATE_LIBS@ all: $(TARGET_LIB) $(PROGRAMS) src/template.lo: src/template.c $(HEADERS) src/lexer.lo: src/lexer.c $(HEADERS) src/parser.lo: src/parser.c $(HEADERS) src/cmdline/etl.lo: src/cmdline/etl.c $(HEADERS) tests/compare.lo: tests/compare.c $(HEADERS) $(TARGET_LIB): $(OBJECTS) $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -rpath $(libdir) -o $@ $^ $(LIBS) src/cmdline/etl: $(TARGET_LIB) src/cmdline/etl.lo $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -static -o $@ $^ $(LIBS) tests/compare: $(TARGET_LIB) tests/compare.lo $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -static -o $@ $^ $(LIBS) check: tests/compare @rm -f test.log @for i in `find tests -name \*.etl | sed 's/\.etl//' | sort`; do \ ./tests/compare $$i.etl $$i.out >> ./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 clean: @rm -rf $(TARGET_LIB) @rm -rf $(OBJECTS) @rm -rf $(PROGRAMS) @rm -rf $(OBJECTS:.lo=.o) @rm -rf tests/compare.lo tests/compare.o @rm -rf src/cmdline/etl.lo src/cmdline/etl.o 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: $(TARGET_LIB) $(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 $@