-# Hey Emacs, this is a -*- makefile -*-
-#
-# libFIRM Project
+
#
-# $Id$
+# Project: libFIRM
+# File name: testprograms/Makefile.in
+# Purpose:
+# Author: Boris Boesler, Till Riedel
+# Modified by:
+# Created:
+# CVS-ID: $Id$
+# Copyright: (c) 1999-2003 Universität Karlsruhe
+# Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
#
top_srcdir := @top_srcdir@
topdir = ..
subdir := testprograms
-DIFF ?= diff
+DIFF ?= diff -c0
REF_DIR = $(srcdir)/ref-results
-SOURCES := Makefile.in \
- array-heap_example.c empty.c irr_cf_example.c \
- array-stack_example.c global_var_example.c irr_loop_example.c \
- call_str_example.c if_else_example.c memory_example.c \
- cond_example.c if_example.c oo_program_example.c \
- const_eval_example.c if_while_example.c three_cfpred_example.c \
- dead_block_example.c inheritance_example.c while_example.c \
- endless_loop.c global_cse.c oo_inline_example.c
+SOURCES := Makefile.in \
+ array-heap_example.c \
+ array-stack_example.c \
+ call_str_example.c \
+ cond_example.c \
+ const_ent_example.c \
+ const_eval_example.c \
+ dead_block_example.c \
+ empty.c \
+ endless_loop.c \
+ float_example.c \
+ global_cse.c \
+ global_var_example.c \
+ identify_types.c \
+ if_else_example.c \
+ if_example.c \
+ if_while_example.c \
+ inheritance_example.c \
+ irr_cf_example.c \
+ irr_loop_example.c \
+ memory_example.c \
+ oo_inline_example.c \
+ oo_program_example.c \
+ recursions.c \
+ three_cfpred_example.c \
+ while_example.c
+
+GENFILES = %.vcg results.txt
bin_EXAMPLES = $(CFILES:.c=)
run_bin_EXAMPLES = $(patsubst %.c,./%;,$(CFILES))
-
include $(topdir)/MakeRules
CPPFLAGS += -I$(top_srcdir)/ir/adt -I$(top_srcdir)/ir/common -I$(top_srcdir)/ir/debug \
-I$(top_srcdir)/ir/ident -I$(top_srcdir)/ir/ir -I$(top_srcdir)/ir/tr \
- -I$(top_srcdir)/ir/tv -I$(top_srcdir)/ir/st -I$(top_srcdir)/ir/ana
+ -I$(top_srcdir)/ir/tv -I$(top_srcdir)/ir/st -I$(top_srcdir)/ir/ana \
+ -I$(top_srcdir)/ir/opt -I$(top_srcdir)/ir/stat
-LDFLAGS += -L$(topdir)
-LDLIBS += -lfirm -lgmp -liberty
+LDFLAGS = -L$(topdir)
+LDFLAGS+= @LDFLAGS@
+LDLIBS += -lfirm -liberty
GENFILES := $(bin_EXAMPLES) *.vcg
all: $(bin_EXAMPLES) $(topdir)/libfirm.a
+$(bin_EXAMPLES): $(topdir)/libfirm.a
+
run:
$(run_bin_EXAMPLES)
-test: clean all
- ($(run_bin_EXAMPLES))>run-result.txt
- -rm $(REF_DIR)/All_types.vcg # contains pointers that differ from run to run -- change!!! debug-ints!!
- ($(DIFF) run-result.txt $(REF_DIR)/run-result.txt) || (echo Libfirm test failed; exit 1)
- for g in $(REF_DIR)/*.vcg; do\
- ($(DIFF) -s `basename $$g` $$g)|| (echo Libfirm test failed; exit 1) \
- done;
- @echo Libfirm test successful
-
-reference: clean all
- rm -f $(REF_DIR)/*.vcg
+test: realclean all
+ ls >.ignore
+ rm -rf results; mkdir results; ($(run_bin_EXAMPLES)) >results/run-result.txt; \
+ mv *.vcg results; cd results;
+ @($(DIFF) --brief --exclude=CVS results $(REF_DIR) && \
+ echo Libfirm test successful ) || echo Libfirm test failed ;
+
+reference: realclean all
+ $(RM) $(REF_DIR)/*.vcg
($(run_bin_EXAMPLES))>$(REF_DIR)/run-result.txt
- rm All_types.vcg # contains pointers that differ from run to run -- change!!! debug-ints!!
install -c -m0644 *.vcg $(REF_DIR)
-
-subdir_clean:
- rm -f run-result.txt *.vcg $(bin_EXAMPLES)