# Hey Emacs, this is a -*- makefile -*- # # libFIRM Project # # $Id$ # top_srcdir := @top_srcdir@ srcdir = @srcdir@ topdir = .. subdir := testprograms DIFF ?= diff 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 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 LDFLAGS += -L$(topdir) LDLIBS += -lfirm -lgmp -liberty GENFILES := $(bin_EXAMPLES) *.vcg include $(top_srcdir)/MakeTargets all: $(bin_EXAMPLES) $(topdir)/libfirm.a run: $(run_bin_EXAMPLES) test: clean all ($(run_bin_EXAMPLES))>run-result.txt -rm $(REF_DIR)/All_types.vcg $(REF_DIR)/*-type.vcg $(REF_DIR)/*-all.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 ($(run_bin_EXAMPLES))>$(REF_DIR)/run-result.txt rm All_types.vcg *-type.vcg *-all.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)