summaryrefslogtreecommitdiff
path: root/libdde_linux26/mk/install.inc
diff options
context:
space:
mode:
Diffstat (limited to 'libdde_linux26/mk/install.inc')
-rw-r--r--libdde_linux26/mk/install.inc66
1 files changed, 66 insertions, 0 deletions
diff --git a/libdde_linux26/mk/install.inc b/libdde_linux26/mk/install.inc
new file mode 100644
index 00000000..3cdbecf3
--- /dev/null
+++ b/libdde_linux26/mk/install.inc
@@ -0,0 +1,66 @@
+# -*- Makefile -*-
+# vim:set ft=make:
+#
+# DROPS (Dresden Realtime OPerating System) Component
+#
+# Makefile-Include for install-rules
+#
+# $Id: install.inc 11 2007-02-26 19:08:41Z l4check $
+#
+# $Author: l4check $
+#
+# This file is useful only when actually building files, thus if
+# BUILD_ONE_ARCHITECTURE (see Makeconf) is defined.
+# INSTALL_TARGET and INSTALL_TARGET_$(ARCH) contain the targets to be
+# installed. If they are both empty, and NOTARGETSTOINSTALL is not set,
+# they are set to TARGET and TARGET_$(ARCH).
+#
+# INSTALLDIR and INSTALLDIR_LOCAL is the dir the files will be installed
+# in and must be set prior to including this file. INSTALLDIR is used by the
+# target "install" and "INSTALLDIR_LOCAL" by the target "all".
+#
+# The target "all" is made depending on the installed files in
+# INSTALLDIR_LOCAL. "install" on the files in INSTALLDIR. An other
+# difference is that "all" results in using the variable
+# $(INSTALLFILE_LOCAL) to install the files and "install" in using
+# $(INSTALLFILE). This allows the difference between linking and actually
+# copying (with stripping for bins).
+
+ifndef INSTALL_TARGET_$(OSYSTEM)
+ifndef NOTARGETSTOINSTALL
+INSTALL_TARGET?=$(TARGET)
+endif
+endif
+INSTALL_TARGET += $(INSTALL_TARGET_$(OSYSTEM))
+
+all:: $(addprefix $(INSTALLDIR_LOCAL)/,$(INSTALL_TARGET))
+install:: $(addprefix $(INSTALLDIR)/,$(INSTALL_TARGET))
+
+# with prog.mk, we copy
+ifeq ($(ROLE),prog.mk)
+$(foreach f,$(INSTALL_TARGET),$(INSTALLDIR_LOCAL)/$(f)):$(INSTALLDIR_LOCAL)/%:%
+ @$(INSTALL_LOCAL_MESSAGE)
+ $(if $(INSTALLFILE_LOCAL),$(VERBOSE)$(INSTALL) -d $(dir $@))
+ $(VERBOSE)$(call INSTALLFILE_LOCAL,$<,$@)
+else
+# with others, we symlink
+# we check for each locally installed lib if the symlink is correct
+.PHONY: $(addprefix $(INSTALLDIR_LOCAL)/,$(INSTALL_TARGET))
+$(foreach f,$(INSTALL_TARGET),$(INSTALLDIR_LOCAL)/$(f)):$(INSTALLDIR_LOCAL)/%:%
+ @$(if $(INSTALLFILE_LOCAL),if [ ! $< -ef $@ ] ; then \
+ $(if $(INSTALL_LOCAL_MESSAGE),$(INSTALL_LOCAL_MESSAGE);) \
+ $(INSTALL) -d $(dir $@); \
+ $(call INSTALLFILE_LOCAL,$<,$@); \
+ fi)
+endif
+
+$(foreach f,$(INSTALL_TARGET),$(INSTALLDIR)/$(f)):$(INSTALLDIR)/%:%
+ @$(INSTALL_MESSAGE)
+ $(if $(INSTALLFILE),$(VERBOSE)$(INSTALL) -d $(dir $@))
+ $(VERBOSE)$(call INSTALLFILE,$<,$@)
+
+# unconditionally install on "make install"
+.PHONY: $(addprefix $(INSTALLDIR)/,$(INSTALL_TARGET))
+
+.general.d: $(L4DIR)/mk/install.inc
+