Author: damjan
Date: Wed Sep 26 05:21:59 2018
New Revision: 1841998
URL: http://svn.apache.org/viewvc?rev=1841998&view=rev
Log:
Add a gbuild API for building assembly language source files.
This will be needed by basic, bridges and possibly other modules.
Patch by: me
Modified:
openoffice/trunk/main/solenv/gbuild/LinkTarget.mk
openoffice/trunk/main/solenv/gbuild/TargetLocations.mk
openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk
openoffice/trunk/main/solenv/gbuild/platform/linux.mk
openoffice/trunk/main/solenv/gbuild/platform/macosx.mk
openoffice/trunk/main/solenv/gbuild/platform/os2.mk
openoffice/trunk/main/solenv/gbuild/platform/solaris.mk
openoffice/trunk/main/solenv/gbuild/platform/windows.mk
openoffice/trunk/main/solenv/gbuild/platform/winmingw.mk
Modified: openoffice/trunk/main/solenv/gbuild/LinkTarget.mk
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/LinkTarget.mk?rev=1841998&r1=1841997&r2=1841998&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/LinkTarget.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/LinkTarget.mk Wed Sep 26 05:21:59 2018
@@ -62,6 +62,23 @@ gb_Object__command_dep = \
endif
+# AsmObject class
+
+gb_AsmObject_REPOS := $(gb_REPOS)
+
+gb_AsmObject_get_source = $(1)/$(2)$(gb_AsmObject_EXT)
+
+define gb_AsmObject__rules
+$$(call gb_AsmObject_get_target,%) : $$(call gb_AsmObject_get_source,$(1),%)
+ $$(call gb_AsmObject__command,$$@,$$*,$$<))
+
+endef
+
+$(foreach repo,$(gb_AsmObject_REPOS),$(eval $(call
gb_AsmObject__rules,$(repo))))
+
+gb_AsmObject_AsmObject =
+
+
# CObject class
gb_CObject_REPOS := $(gb_REPOS)
@@ -213,6 +230,7 @@ gb_LinkTarget_DEFAULTDEFS := $(gb_GLOBAL
$(call gb_LinkTarget_get_clean_target,%) :
$(call gb_Output_announce,$*,$(false),LNK,4)
RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),200,\
+ $(foreach object,$(ASMOBJECTS),$(call
gb_AsmObject_get_target,$(object))) \
$(foreach object,$(COBJECTS),$(call
gb_CObject_get_target,$(object))) \
$(foreach object,$(COBJECTS),$(call
gb_CObject_get_dep_target,$(object))) \
$(foreach object,$(CXXOBJECTS),$(call
gb_CxxObject_get_target,$(object))) \
@@ -325,6 +343,8 @@ $(call gb_LinkTarget_get_clean_target,$(
$(call gb_LinkTarget_get_external_headers_target,$(1)) : SELF := $(1)
$(call gb_LinkTarget_get_target,$(1)) : DLLTARGET :=
$(call gb_LinkTarget_get_clean_target,$(1)) \
+$(call gb_LinkTarget_get_target,$(1)) : ASMOBJECTS :=
+$(call gb_LinkTarget_get_clean_target,$(1)) \
$(call gb_LinkTarget_get_target,$(1)) : COBJECTS :=
$(call gb_LinkTarget_get_clean_target,$(1)) \
$(call gb_LinkTarget_get_target,$(1)) : CXXOBJECTS :=
@@ -693,6 +713,14 @@ $$(foreach lib,$(2),$$(call gb_Library_g
endef
+define gb_LinkTarget_add_asmobject
+$(call gb_LinkTarget_get_target,$(1)) : ASMOBJECTS += $(2)
+$(call gb_LinkTarget_get_clean_target,$(1)) : ASMOBJECTS += $(2)
+
+$(call gb_LinkTarget_get_target,$(1)) : $(call gb_AsmObject_get_target,$(2))
+
+endef
+
define gb_LinkTarget_add_cobject
$(call gb_LinkTarget_get_target,$(1)) : COBJECTS += $(2)
$(call gb_LinkTarget_get_clean_target,$(1)) : COBJECTS += $(2)
@@ -761,6 +789,10 @@ define gb_LinkTarget_add_exception_objec
$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS))
endef
+define gb_LinkTarget_add_asmbojects
+$(foreach obj,$(2),$(call gb_LinkTarget_add_asmobject,$(1),$(obj),$(3)))
+endef
+
define gb_LinkTarget_add_cobjects
$(foreach obj,$(2),$(call gb_LinkTarget_add_cobject,$(1),$(obj),$(3)))
endef
Modified: openoffice/trunk/main/solenv/gbuild/TargetLocations.mk
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/TargetLocations.mk?rev=1841998&r1=1841997&r2=1841998&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/TargetLocations.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/TargetLocations.mk Wed Sep 26 05:21:59
2018
@@ -46,6 +46,7 @@ endef
gb_AllLangResTarget_get_target = $(WORKDIR)/AllLangRes/$(1)
gb_Ant_get_target = $(WORKDIR)/Ant/$(1).jar
+gb_AsmObject_get_target = $(WORKDIR)/AsmObject/$(1).o
gb_BisonTarget_get_target = $(WORKDIR)/Bison/$(1)/$(2).cxx
gb_CObject_get_target = $(WORKDIR)/CObject/$(1).o
gb_ComponentTarget_get_target = $(WORKDIR)/ComponentTarget/$(1).component
Modified: openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk?rev=1841998&r1=1841997&r2=1841998&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk Wed Sep 26 05:21:59
2018
@@ -178,6 +178,25 @@ define gb_Helper_convert_native
$(1)
endef
+# AsmObject class
+
+gb_AsmObject_EXT := .s
+
+define gb_AsmObject__command
+$(call gb_Output_announce,$(2),$(true),ASM,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ $(gb_CC) \
+ $(DEFS) \
+ $(T_CFLAGS) \
+ $(CFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -MT $(1) \
+ -I$(dir $(3)) \
+ $(INCLUDE))
+endef
+
# CObject class
# $(call gb_CObject__command,object,relative-source,source,dep-file)
Modified: openoffice/trunk/main/solenv/gbuild/platform/linux.mk
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/linux.mk?rev=1841998&r1=1841997&r2=1841998&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/linux.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/linux.mk Wed Sep 26 05:21:59
2018
@@ -171,6 +171,25 @@ define gb_Helper_convert_native
$(1)
endef
+# AsmObject class
+
+gb_AsmObject_EXT := .s
+
+define gb_AsmObject__command
+$(call gb_Output_announce,$(2),$(true),ASM,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ $(gb_CC) \
+ $(DEFS) \
+ $(T_CFLAGS) \
+ $(CFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -MT $(1) \
+ -I$(dir $(3)) \
+ $(INCLUDE))
+endef
+
# CObject class
# $(call gb_CObject__command,object,relative-source,source,dep-file)
Modified: openoffice/trunk/main/solenv/gbuild/platform/macosx.mk
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/macosx.mk?rev=1841998&r1=1841997&r2=1841998&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/macosx.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/macosx.mk Wed Sep 26 05:21:59
2018
@@ -173,6 +173,25 @@ $(1)
endef
+# AsmObject class
+
+gb_AsmObject_EXT := .s
+
+define gb_AsmObject__command
+$(call gb_Output_announce,$(2),$(true),ASM,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ $(gb_CC) \
+ $(DEFS) \
+ $(T_CFLAGS) \
+ $(CFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -MT $(1) \
+ -I$(dir $(3)) \
+ $(INCLUDE))
+endef
+
# CObject class
define gb_CObject__command
Modified: openoffice/trunk/main/solenv/gbuild/platform/os2.mk
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/os2.mk?rev=1841998&r1=1841997&r2=1841998&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/os2.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/os2.mk Wed Sep 26 05:21:59 2018
@@ -159,6 +159,25 @@ $(1)
endef
+# AsmObject class
+
+gb_AsmObject_EXT := .s
+
+define gb_AsmObject__command
+$(call gb_Output_announce,$(2),$(true),ASM,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ $(gb_CC) \
+ $(DEFS) \
+ $(T_CFLAGS) \
+ $(CFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -MT $(1) \
+ -I$(dir $(3)) \
+ $(INCLUDE))
+endef
+
# CObject class
# $(call gb_CObject__command,object,relative-source,source,dep-file)
Modified: openoffice/trunk/main/solenv/gbuild/platform/solaris.mk
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/solaris.mk?rev=1841998&r1=1841997&r2=1841998&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/solaris.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/solaris.mk Wed Sep 26 05:21:59
2018
@@ -145,6 +145,24 @@ $(1)
endef
+# AsmObject class
+
+gb_AsmObject_EXT := .s
+
+define gb_AsmObject__command
+$(call gb_Output_announce,$(2),$(true),ASM,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ $(gb_CC) \
+ $(DEFS) \
+ $(T_CFLAGS) \
+ $(CFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -I$(dir $(3)) \
+ $(INCLUDE))
+endef
+
# CObject class
define gb_CObject__command
Modified: openoffice/trunk/main/solenv/gbuild/platform/windows.mk
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/windows.mk?rev=1841998&r1=1841997&r2=1841998&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/windows.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/windows.mk Wed Sep 26 05:21:59
2018
@@ -263,6 +263,26 @@ $(1)))))
endef
+# AsmObject class
+
+gb_AsmObject_EXT := .asm
+
+define gb_AsmObject__command
+$(call gb_Output_announce,$(2),$(true),ASM,3)
+$(call gb_Helper_abbreviate_dirs_native,\
+ mkdir -p $(dir $(1)) && \
+ unset INCLUDE && \
+ $(gb_CC) \
+ $(DEFS) \
+ $(T_CFLAGS) \
+ -FD$(PDBFILE) \
+ $(CFLAGS) \
+ -I$(dir $(3)) \
+ $(INCLUDE) \
+ -c $(3) \
+ -Fo$(1))
+endef
+
# CObject class
ifeq ($(gb_FULLDEPS),$(true))
Modified: openoffice/trunk/main/solenv/gbuild/platform/winmingw.mk
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/winmingw.mk?rev=1841998&r1=1841997&r2=1841998&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/winmingw.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/winmingw.mk Wed Sep 26
05:21:59 2018
@@ -218,6 +218,25 @@ $(patsubst $(SRCDIR)%,$(gb_Helper_SRCDIR
$(1)))))
endef
+# AsmObject class
+
+gb_AsmObject_EXT := .s
+
+define gb_AsmObject__command
+$(call gb_Output_announce,$(2),$(true),ASM,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ $(gb_CC) \
+ $(DEFS) \
+ $(T_CFLAGS) \
+ $(CFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -MT $(1) \
+ -I$(dir $(3)) \
+ $(INCLUDE))
+endef
+
# CObject class
ifeq ($(gb_FULLDEPS),$(true))