3 # File name: MakeRules.in
5 # Author: nicht Till Riedel, das waren andere!
9 # Copyright: (c) 2002-2003 Universität Karlsruhe
10 # Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
15 LIBFIRM_VERSION = @PACKAGE_VERSION@
18 CFLAGS := -std=c99 -pedantic-errors -Wall -Wstrict-prototypes @CFLAGS@
19 CPPFLAGS := -I. -I$(topdir) -I$(srcdir) -I$(top_srcdir) @CPPFLAGS@
21 exec_prefix?=@exec_prefix@
22 includedir?=@includedir@
25 INCLUDEDIR ?= ${includedir}/${PACKAGE_NAME}
27 PACKAGE_NAME = @PACKAGE_NAME@
28 INCLUDEDIR ?= ${includedir}/${PACKAGE_NAME}
35 LD_R := @libfirm_cv_prog_ld_r@
40 ifeq (@enable_profile_libfirm@,yes)
41 LDFLAGS += # -g -pg GL: geht bei mir nicht: unrecognised option
49 TARDIRNAME := libfirm-$(LIBFIRM_VERSION)
50 TARFILENAME := $(topdir)/$(TARDIRNAME).tar
51 TARFLAGS = -uhf $(TARFILENAME)
56 AUTODOCFILE := libfirm.doxygen
57 AUTODOCDIR := doc/html
58 AUTODOCINDEXFILE := $(AUTODOCDIR)/index.html
60 DISTFILES += $(addprefix $(srcdir)/, $(SOURCES))
61 ARCHIVEDISTFILES += $(addprefix $(TARDIRNAME)/$(subdir)/, $(SOURCES))
62 CFILES = $(filter %.c,$(SOURCES) $(GENFILES))
63 HFILES = $(filter %.h,$(SOURCES) $(GENFILES))
64 OFILES = $(CFILES:.c=.o)
65 TAGFILES = $(CFILES) $(HFILES)
67 LDLIBS=$(LIBS) -lm -lc
69 COMPILE.c = $(CC) -c $(DEFS) $(CPPFLAGS) $(CDEBUG) $(CFLAGS) $(XCFLAGS)
70 COMPILE.s = $(CC) -S $(DEFS) $(CPPFLAGS) $(CDEBUG) $(CFLAGS) $(XCFLAGS)
79 $(CPP) $(DEFS) $(CPPFLAGS) -o $@ $<
82 $(DT) $(DTFLAGS) <$^ >$@ || $(fail)
88 # make target given by $@ recursively in $^ ...
89 ifeq (,$(findstring k,$(MAKEFLAGS)))
90 # ... and immediately stop on errors
92 +@for i in $^ ""; do if test $$i; then $(MAKE) -C $$i $(subst subdir_,,$@) || exit $$?; fi; done
95 # ... and keep going after errors
98 for i in $^ ""; do if test $$i; then $(MAKE) -C $$i $(subst subdir_,,$@) || fail=y; fi; done; \
103 targets = all clean depend realclean tags install autodoc dist distrib install_headers install_libs