Every node has now a pinned attribute that is inherited from the op.
[libfirm] / testprograms / Makefile.in
index f9914d1..c6d0d2e 100644 (file)
@@ -1,8 +1,13 @@
-# 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@
@@ -10,34 +15,92 @@ srcdir = @srcdir@
 topdir = ..
 subdir := testprograms
 
+enable_libcore          := @enable_libcore@
+enable_external_effects := @enable_external_effects@
+disable_libiberty       := @disable_libiberty@
+
+DIFF ?= diff # -c0  newer diffs do not support/need this
+REF_DIR = $(srcdir)/ref-results
+
+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                    \
+       strength_red_example.c          \
+       loop_unroll_example.c           \
+       three_cfpred_example.c          \
+       while_example.c
 
-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
+
+GENFILES = %.vcg results.txt
 
 bin_EXAMPLES = $(CFILES:.c=)
-run_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/tv -I$(top_srcdir)/ir/st  -I$(top_srcdir)/ir/ana \
+               -I$(top_srcdir)/ir/opt -I$(top_srcdir)/ir/stat -I$(topdir)/ir/config \
+               -I$(top_srcdir)/ir/arch -I$(top_srcdir)/ir/lower
+
+LDFLAGS = -L$(topdir)
+LDFLAGS+= @LDFLAGS@
+LDLIBS += -lfirm @LIBS@
+
+ifeq ($(enable_libcore),yes)
+LDLIBS += -lcore
+endif
 
-LDFLAGS += -L$(topdir)
-LDLIBS += -lfirm -lgmp
+ifeq ($(enable_external_effects),yes)
+LDLIBS += -lxml2
+endif
+
+ifeq ($(disable_libiberty),yes)
+LDLIBS += -liberty
+endif
+
+
+GENFILES := $(bin_EXAMPLES) *.vcg
 
 include $(top_srcdir)/MakeTargets
 
 all:   $(bin_EXAMPLES) $(topdir)/libfirm.a
 
+$(bin_EXAMPLES): $(topdir)/libfirm.a
+
 run:
        $(run_bin_EXAMPLES)
 
-# this generates error messages
-local_clean:
-       $(RM) $(OFILES) $(bin_EXAMPLES) *.vcg core
+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
+       install -c -m0644 *.vcg $(REF_DIR)