From 807212446dbf0c340c93c3c91eb4f44511f415cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 4 Nov 2002 18:52:21 +0000 Subject: [PATCH] Added new rules MergeObject, MergeObjectFromObjects, and KernelMergeObject. Fixed the syntax comment in KernelLd. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1840 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- Jamrules | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/Jamrules b/Jamrules index a57c3ebcb7..f472cdba21 100644 --- a/Jamrules +++ b/Jamrules @@ -591,7 +591,7 @@ rule Translator MakeLocate $(1) : $(targetdir) ; } - rule MakeLocateObjects +rule MakeLocateObjects { # MakeLocateObjects ; @@ -619,6 +619,30 @@ rule StaticLibrary MakeLocate lib$(<).a : $(OBOS_STLIB_DIR) ; } +rule MergeObjectFromObjects +{ + # MergeObjectFromObjects : ; + MakeLocate $(1) : $(LOCATE_TARGET) ; + MakeLocateObjects $(2) ; + Depends $(<) : $(>) ; + LINK on $(1) = ld ; +} + +actions MergeObjectFromObjects +{ + $(LINK) -r $(2) -o $(1) ; +} + +rule MergeObject +{ + # MergeObject : ; + SetupIncludes ; + SetupObjectsDir ; + MakeLocateObjects $(2) ; + Objects $(2) ; + MergeObjectFromObjects $(1) : $(2:S=$(SUFOBJ)) ; +} + rule SharedLibraryFromObjects { # SharedLibraryFromObjects : ; @@ -1115,7 +1139,7 @@ rule KernelObjects rule KernelLd { - # KernelLd : : : : ; + # KernelLd : : : : : ; SetupKernel $(2) ; LINK on $(1) = ld ; @@ -1150,6 +1174,17 @@ actions KernelLd $(LINK) $(LINKFLAGS) -o "$(1)" "$(2)" $(LINKLIBS) ; } +rule KernelMergeObject +{ + # KernelMergeObject : : ; + + SetupKernel $(2) : $(3) ; + + MakeLocateObjects $(2) ; + Objects $(2) ; + MergeObjectFromObjects $(1) : $(2:S=$(SUFOBJ)) ; +} + rule KernelStaticLibrary { # Usage KernelStaticLibrary : : ;