summaryrefslogtreecommitdiff
path: root/solenv/gbuild/WinResTarget.mk
diff options
context:
space:
mode:
authorPhilipp Lohmann [pl] <Philipp.Lohmann@Sun.COM>2011-03-23 17:30:35 +0100
committerPhilipp Lohmann [pl] <Philipp.Lohmann@Sun.COM>2011-03-23 17:30:35 +0100
commit7de3ced6186204e9e1c41c120eb19eac09f9d4a1 (patch)
tree8fcf8b7217acd598a3e442ad44d5dd4eb31f31bb /solenv/gbuild/WinResTarget.mk
parent5ebffff3faea50c35c35fc1730fae56802c5929d (diff)
vcl2gnumake: #i116588# add: windows native resource files (thanks hjs !)
Diffstat (limited to 'solenv/gbuild/WinResTarget.mk')
-rw-r--r--solenv/gbuild/WinResTarget.mk70
1 files changed, 70 insertions, 0 deletions
diff --git a/solenv/gbuild/WinResTarget.mk b/solenv/gbuild/WinResTarget.mk
new file mode 100644
index 000000000000..17c7500769f9
--- /dev/null
+++ b/solenv/gbuild/WinResTarget.mk
@@ -0,0 +1,70 @@
+
+# WinResTarget class
+
+gb_WinResTarget_DEFAULTDEFS := $(gb_RCDEFS)
+
+define gb_WinResTarget_WinResTarget
+$(call gb_WinResTarget_WinResTarget_init,$(1))
+$$(eval $$(call gb_Module_register_target,$(call gb_WinResTarget_get_target,$(1)),$(call gb_WinResTarget_get_clean_target,$(1))))
+
+endef
+
+define gb_WinResTarget_WinResTarget_init
+$(call gb_WinResTarget_get_target,$(1)) : DEFS := $(gb_WinResTarget_DEFAULTDEFS)
+$(call gb_WinResTarget_get_target,$(1)) : INCLUDE := $(SOLARINC)
+$(call gb_WinResTarget_get_clean_target,$(1)) : RCFILE :=
+$(call gb_WinResTarget_get_target,$(1)) : RCFILE :=
+ifeq ($(gb_FULLDEPS),$(true))
+$(call gb_WinResTarget_get_target,$(1)) : $(call gb_WinResTarget_get_dep_target,$(1))
+ifneq ($(wildcard $(call gb_WinResTarget_get_dep_target,$(1))),)
+include $(call gb_WinResTarget_get_dep_target,$(1))
+else
+$(firstword $(MAKEFILE_LIST)) : $(call gb_WinResTarget_get_dep_target,$(1))
+endif
+$(call gb_WinResTarget_get_dep_target,$(1)) : DEFS := $$(gb_WinResTarget_DEFAULTDEFS)
+$(call gb_WinResTarget_get_dep_target,$(1)) : INCLUDE := $$(gb_WinResTarget_INCLUDE)
+$(call gb_WinResTarget_get_dep_target,$(1)) : RCFILE :=
+endif
+
+endef
+
+ifeq ($(gb_FULLDEPS),$(true))
+$(call gb_WinResTarget_get_dep_target,%) : $(gb_Helper_MISCDUMMY)
+ mkdir -p $(dir $@) && \
+ echo '$(call gb_WinResTarget_get_target,$*) : $$(gb_Helper_PHONY)' > $@
+endif
+
+
+$(call gb_WinResTarget_get_target,%) :
+ $(call gb_Output_announce,$*,$(true),RES,1)
+ $(call gb_WinResTarget__command_dep,$*,$<)
+ $(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@))
+ $(call gb_WinResTarget__command,$@)
+
+$(call gb_WinResTarget_get_clean_target,%) :
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_WinResTarget_get_target,$*))
+
+define gb_WinResTarget_set_defs
+$(call gb_WinResTarget_get_target,$(1)) : DEFS := $(2)
+$(call gb_WinResTarget_get_dep_target,$(1)) : DEFS := $(2)
+
+endef
+
+define gb_WinResTarget_set_include
+$(call gb_WinResTarget_get_target,$(1)) : INCLUDE := $(2)
+
+endef
+
+define gb_WinResTarget_add_file
+$(call gb_WinResTarget_get_clean_target,$(1)) : RCFILE=$(gb_Helper_SRCDIR_NATIVE)/$(2).rc
+$(call gb_WinResTarget_get_target,$(1)) : RCFILE=$(foreach file,$(gb_REPOS),$(realpath $(file)/$(strip $(2)).rc))
+$(call gb_WinResTarget_get_target,$(1)) : $(foreach file,$(gb_REPOS),$(realpath $(file)/$(strip $(2)).rc))
+
+endef
+
+define gb_WinResTarget_add_dependency
+$(call gb_WinResTarget_get_target,$(1)) : $(foreach file,$(2),$(foreach repo,$(gb_REPOS),$(realpath $(repo)/$(strip $(file)))))
+
+endef