# partial linking of a subdir's $(OFILES) into one file
subdir.o: $(OFILES)
+ifeq ($(strip $(OFILES)),)
+ >$@
+else
rm -f $@
- $(LD) $(LDFLAGS) -r -o $@ $^
+ $(LD) $(LDFLAGS) -r -o $@ $^
+endif
clean: subdir_clean local_clean
.PHONY: 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
local_autodoc_html: $(HTMLFILES)
+# generate an archive for distribution
+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)
$(addprefix subdir_,$(targets)): $(subdirs)
+$(recurse)
etags -C $^
# installation
-install: subdir_install local_install
-local_install: $(INCLUDEDIR) $(LIBDIR)
+install: $(INCLUDEDIR) install_headers $(LIBDIR) install_libs
+
+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) -C -m u+rw,a+r $(addprefix $(srcdir)/,$(INSTALL_HEADERS)) $(INCLUDEDIR)
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) -C -m u+rw,a+r $(addprefix $(topdir)/,$(INSTALL_LIBS)) $(LIBDIR)
endif
-$(LIBDIR): $(LIBDIR)
+
+$(LIBDIR):
mkdir -p $@
-$(INCLUDEDIR): $(INCLUDEDIR)
+$(INCLUDEDIR):
mkdir -p $@
+# generated the directory where all the generated documentation is
$(AUTODOCDIR):
mkdir $@
+# 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