-# Hey Emacs, this is a -*- makefile -*-
#
-# libFIRM Project
-#
-# $Id$
+# Project: libFIRM
+# File name: MakeTargets
+# Purpose:
+# Author: nicht Till Riedel, das waren andere
+# Modified by:
+# Created:
+# CVS-ID: $Id$
+# Copyright: (c) 2002-2003 Universität Karlsruhe
+# Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
#
.PHONY: subdir_all
>$@
else
rm -f $@
- $(LD) $(LDFLAGS) -r -o $@ $^
+ $(LD) $(LDFLAGS) -r -o $@ $^
endif
clean: subdir_clean local_clean
$(RM) $(OFILES) subdir.o core
realclean: subdir_realclean local_clean
- $(RM) $(GENFILES) .depend TAGS
+ $(RM) $(GENFILES) .depend TAGS $(TARDIRNAME)
depend: subdir_depend local_depend
.PHONY: local_depend
$(CC) -M $(DEFS) $(CPPFLAGS) $(filter %.c,$^) >.depend || { $(RM) .depend; false; }
endif
-autodoc_xref: subdir_autodoc_xref local_autodoc_xref
-.PHONY: local_autodoc_xref
-local_autodoc_xref: $(LOCALXREFSFILE)
-
-autodoc_html: subdir_autodoc_html local_autodoc_html
-.PHONY: local_autodoc_html
-local_autodoc_html: $(HTMLFILES)
-
# generate an archive for distribution
-dist: subdir_dist local_dist
+distrib: dist
+ $(MAKE) -C testprograms dist
+
+dist: subdir_dist local_dist $(TARDIRNAME)
# @echo create archive with $(DISTFILES)
# @echo tar -C $(top_srcdir) -uf libfirm.tar $(ARCHIVEDISTFILES)
$(TAR) $(TARFLAGS) $(ARCHIVEDISTFILES)
.PHONY: local_dist
local_dist: $(DISTFILES)
+$(TARDIRNAME):
+ $(LN_S) $(top_srcdir) $@
# dont know about this
# Recurse into $(subdirs) for $(targets)
CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status >&2
# generate TAGS
-tags: subdir_tags local_tags
-.PHONY: local_tags
-local_tags: $(TAGFILES)
- etags -C $^
+.PHONY: tags
+tags: TAGS
+TAGS:
+ ctags -R *.[ch]
# installation
-install: subdir_install local_install
-local_install: $(INCLUDEDIR) $(LIBDIR)
+install: $(INCLUDEDIR) $(INCLUDEDIR)/adt install_headers $(LIBDIR) install_libs
+ $(INSTALL) -m u+rwx,a+rx $(addprefix $(topdir)/,libfirm.pc) $(LIBDIR)/pkgconfig
+ @echo ================================================
+ @echo Don\'t forget to add $(LIBDIR) to LD_LIBRARY_PATH
+ @echo Don\'t forget to add /usr/public/libxml2/lib to LD_LIBRARY_PATH
+ @echo ================================================
+
+install_headers: subdir_install_headers local_install_headers
+local_install_headers:
ifneq ($(strip $(INSTALL_HEADERS)),)
- $(INSTALL) -m u+rw,a+r $(addprefix $(srcdir)/,$(INSTALL_HEADERS)) $(INCLUDEDIR)
+ $(INSTALL) -m u+rw,a+r $(addprefix $(srcdir)/,$(INSTALL_HEADERS)) $(INCLUDEDIR)
+endif
+ifneq ($(strip $(INSTALL_GENERATED_HEADERS)),)
+ $(INSTALL) -m u+rw,a+r $(INSTALL_GENERATED_HEADERS) $(INCLUDEDIR)
+endif
+ifneq ($(strip $(INSTALL_HEADERS_ADT)),)
+ $(INSTALL) -m u+rw,a+r $(addprefix $(srcdir)/,$(INSTALL_HEADERS_ADT)) $(INCLUDEDIR)/adt
endif
+
+install_libs: subdir_install_libs local_install_libs
+local_install_libs:
ifneq ($(strip $(INSTALL_LIBS)),)
- $(INSTALL) -m u+rw,a+r $(addprefix $(topdir)/,$(INSTALL_LIBS)) $(LIBDIR)
+ $(INSTALL) -m u+rw,a+r $(addprefix $(topdir)/,$(INSTALL_LIBS)) $(LIBDIR)
+ @# the '.a' is ranlib'ed already, and the '.so' doesn't need ranlib-ing
+ @# $(RANLIB) $(addprefix $(LIBDIR)/,$(INSTALL_LIBS))
endif
-$(LIBDIR): $(LIBDIR)
+
+$(LIBDIR):
+ mkdir -p $@
+
+$(INCLUDEDIR):
mkdir -p $@
-$(INCLUDEDIR): $(INCLUDEDIR)
+$(INCLUDEDIR)/adt:
mkdir -p $@
+# generated the directory where all the generated documentation is
$(AUTODOCDIR):
- mkdir $@
+ mkdir -p $@
+
+# print some help
+.PHONY: help
+help:
+ @echo "possible targets are:"
+ @echo "[$(targets)]"
+ @echo "but not all of them should be used or make sense"
# include dependencies
-include .depend