summaryrefslogtreecommitdiff
path: root/odk
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-08-05 14:51:36 +0200
committerMichael Stahl <mstahl@redhat.com>2014-08-05 14:53:23 +0200
commite16cc171f161178e7cad55565bdbb6eab238176b (patch)
tree895e0fd60f902d7e9a981534280d3c343aba35d7 /odk
parent7627008b0671f16cf84a3f552e3316ab8d803ebb (diff)
odk: fix CustomTarget_allheaders for Win32 make
This one also has an overly long command line that is cut off. Change-Id: I2d49e39b5dca6e1d84fffcb3212042b6d82c13f3
Diffstat (limited to 'odk')
-rw-r--r--odk/CustomTarget_allheaders.mk21
1 files changed, 21 insertions, 0 deletions
diff --git a/odk/CustomTarget_allheaders.mk b/odk/CustomTarget_allheaders.mk
index 050648cf8aa4..5f22d8544e30 100644
--- a/odk/CustomTarget_allheaders.mk
+++ b/odk/CustomTarget_allheaders.mk
@@ -14,10 +14,26 @@ odk_allheaders_DIR := $(call gb_CustomTarget_get_workdir,odk/allheaders)
$(call gb_CustomTarget_get_target,odk/allheaders) : \
$(odk_allheaders_DIR)/allheaders.hxx
+define odk_genincludesheader
+// Generated list of sal includes
+#ifdef WNT
+#include <windows.h>
+#endif
+
+endef
+
+define odk_geninclude
+$(if $(2),#ifdef WNT)
+#include <$(subst $(INSTDIR)/$(SDKDIRNAME)/include/,,$(1))>
+$(if $(2),#endif)
+
+endef
+
$(odk_allheaders_DIR)/allheaders.hxx : \
$(call gb_PackageSet_get_target,odk_headers) \
| $(odk_allheaders_DIR)/.dir
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1)
+ifeq ($(HAVE_GNUMAKE_FILE_FUNC),)
printf '// Generated list of sal includes\n' > $@ && \
printf '#ifdef WNT\n' >> $@ && \
printf '#include <windows.h>\n' >> $@ && \
@@ -27,5 +43,10 @@ $(odk_allheaders_DIR)/allheaders.hxx : \
&& printf '#include <%s>\n' $(subst $(INSTDIR)/$(SDKDIRNAME)/include/,,$(file)) >> $@ \
$(if $(findstring /win32/,$(file)),&& printf '#endif // WNT\n' >> $@) \
)
+else
+ $(file >$@,\
+ $(call odk_genincludesheader) \
+ $(foreach file,$(shell cat $^),$(call odk_geninclude,$(file),$(findstring /win32/,$(file)))))
+endif
# vim: set noet sw=4 ts=4: