- implemented get_irg_value_param_type()
[libfirm] / testprograms / Makefile
index 2536e24..9b5911a 100644 (file)
@@ -1,97 +1,25 @@
+-include config.mak
 
-DIRS = adt common debug ident ir tr tv
-INCDIRS = $(DIRS:%=-I../ir/%) -I../ir/include
+FIRM_CFLAGS ?= `pkg-config --cflags libfirm`
+FIRM_LIBS   ?= `pkg-config --libs libfirm`
 
-LIBDIRS=-L.. -L/usr/public/lib/gmp/
-LIBS=-lfirm -lgmp -lm
+CC          ?= gcc
 
-%.o:   %.c
-       gcc -c $(INCDIRS) -g $<
+CPPFLAGS += $(FIRM_CFLAGS)
+CFLAGS += -Wall -W -Wstrict-prototypes -Wmissing-prototypes -Werror -pedantic
+CFLAGS += -O0 -g3
+LFLAGS += $(FIRM_LIBS)
 
-all: empty const_eval_example                                  \
-     if_example if_else_example if_while_example cond_example  \
-     call_str_example memory_example array-stack_example       \
-     array-heap_example oo_program_example irr_cf_example      \
-     irr_loop_example dead_block_example global_var_example
+SOURCES   = $(wildcard *.c)
+GOALS     = $(basename $(SOURCES))
 
-clean:
-       rm -f                                   \
-       empty.o empty                           \
-       const_eval_example.o const_eval_example \
-       if_example.o if_example                 \
-       if_else_example.o if_else_example       \
-       if_while_example.o if_while_example     \
-       cond_example.o cond_example             \
-       call_str_example.o call_str_example     \
-       memory_example.o memory_example         \
-       array-stack_example.o array-stack_example       \
-       array-heap_example.o array-heap_example \
-       oo_program_example.o oo_program_example \
-       irr_cf_example.o irr_cf_example         \
-       irr_loop_example.o irr_loop_example     \
-       dead_block_example.o dead_block_example \
-       global_var_example *.vcg core
-
-realclean:     clean
-
-run:
-       ./empty;                \
-       const_eval_example      \
-       if_example;             \
-       if_else_example         \
-       if_while_example;       \
-       cond_example            \
-       call_str_example;       \
-       memory_example          \
-       array-stack_example;    \
-       array-heap_example;     \
-       oo_program_example;     \
-       irr_cf_example;         \
-       irr_loop_example;       \
-       dead_block_example;     \
-       global_var_example;
-
-empty: empty.o
-       gcc -o empty empty.o $(LIBDIRS) $(LIBS)
-
-const_eval_example: const_eval_example.o
-       gcc -o const_eval_example const_eval_example.o $(LIBDIRS) $(LIBS)
-
-if_example: if_example.o
-       gcc -o if_example if_example.o $(LIBDIRS) $(LIBS)
-
-if_else_example: if_else_example.o
-       gcc -o if_else_example if_else_example.o $(LIBDIRS) $(LIBS)
-
-if_while_example: if_while_example.o
-       gcc -o if_while_example if_while_example.o $(LIBDIRS) $(LIBS)
+.PHONY: all
 
-cond_example: cond_example.o
-       gcc -o cond_example cond_example.o $(LIBDIRS) $(LIBS)
+all: $(GOALS)
 
-call_str_example: call_str_example.o
-       gcc -o call_str_example call_str_example.o $(LIBDIRS) $(LIBS)
+%: %.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< $(LFLAGS)
+       strip $@
 
-memory_example: memory_example.o
-       gcc -o memory_example memory_example.o $(LIBDIRS) $(LIBS)
-
-array-stack_example: array-stack_example.o
-       gcc -o array-stack_example array-stack_example.o $(LIBDIRS) $(LIBS)
-
-array-heap_example: array-heap_example.o
-       gcc -o array-heap_example array-heap_example.o $(LIBDIRS) $(LIBS)
-
-oo_program_example: oo_program_example.o
-       gcc -o oo_program_example oo_program_example.o $(LIBDIRS) $(LIBS)
-
-irr_cf_example: irr_cf_example.o
-       gcc -o irr_cf_example irr_cf_example.o $(LIBDIRS) $(LIBS)
-
-irr_loop_example: irr_loop_example.o
-       gcc -o irr_loop_example irr_loop_example.o $(LIBDIRS) $(LIBS)
-
-dead_block_example: dead_block_example.o
-       gcc -o dead_block_example dead_block_example.o $(LIBDIRS) $(LIBS)
-
-global_var_example: global_var_example.o
-       gcc -o global_var_example global_var_example.o $(LIBDIRS) $(LIBS)
+clean:
+       rm -f $(GOALS)