From 07d8edaf28a99b7c390e08fbda437c7a2cc74634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torbj=C3=B6rn=20SVENSSON?= Date: Fri, 19 Feb 2021 18:10:38 +0100 Subject: [PATCH] Bug 571381: Generate BUILD_ARTIFACT* symbols in makefile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The symbols generated are: * BUILD_ARTIFACT_NAME Value of "Artifact name" field defined in the build configuration * BUILD_ARTIFACT_EXTENSION Value of "Artifact extension" field defined in the build configuration * BUILD_ARTIFACT_PREFIX Value of "Output prefix" field defined in the build configuration * BUILD_ARTIFACT Assembly of the other values to build the target file name The above symbols make it easier to extend the generated makefile using the provided makefile hooks "makefile.init", "makefile.defs" and "makefile.targets". There is no longer need to duplicate the name of the target artifact in the hooks files. The hooks can for example be used when the post-build step is not flexible enough. By placing the post-build step in makefile.targets, when done properly, will let the user have full control over the sequence, including parallelism, for the required steps. Contributed by STMicroelectronics Change-Id: I163917837b65cb397eb5943c4357a54e9576cf42 Signed-off-by: Torbjörn SVENSSON --- .../test1DepCalc2/Benchmarks/makefile | 5 ++ .../test1DepCalc3/Benchmarks/makefile | 5 ++ .../test1DepCalcPreBuild/Benchmarks/makefile | 5 ++ .../oldTypeProjects/1.2/Benchmarks/makefile | 5 ++ .../oldTypeProjects/2.0/Benchmarks/makefile | 5 ++ .../oldTypeProjects/2.1/Benchmarks/makefile | 5 ++ .../2.1CPP/Benchmarks/makefile | 5 ++ .../linkedFolder/Benchmarks/makefile | 5 ++ .../linkedLib/Benchmarks/makefile | 5 ++ .../multiResConfig/Benchmarks/makefile | 5 ++ .../singleFileExe/Benchmarks/makefile | 5 ++ .../twoFileSO/Benchmarks/makefile | 5 ++ .../CDTFortranTest1/Benchmarks/makefile | 5 ++ .../CDTFortranTest2/Benchmarks/makefile | 5 ++ .../TestATO/Benchmarks/makefile | 5 ++ .../copyandDeploy/Benchmarks/makefile | 5 ++ .../deleteFile/Benchmarks/makefile | 5 ++ .../inputTypeOption/Benchmarks/makefile | 5 ++ .../linkedFolder/Benchmarks/makefile | 5 ++ .../linkedLib30/Benchmarks/makefile | 5 ++ .../multiResConfig/Benchmarks/makefile | 5 ++ .../preAndPostBuildSteps/Benchmarks/makefile | 5 ++ .../rcbsBasicTest/Benchmarks/makefile | 5 ++ .../singleFileExe/Benchmarks/makefile | 5 ++ .../test with spaces/Benchmarks/makefile | 5 ++ .../test30_1/Benchmarks/makefile | 5 ++ .../test30_2/Benchmarks/makefile | 5 ++ .../Benchmarks/makefile | 5 ++ .../Benchmarks/makefile | 5 ++ .../twoFileSO/Benchmarks/makefile | 5 ++ .../Test 4.0 ConfigName.Dbg/makefile | 5 ++ .../test_40/Benchmarks/dbg 2/makefile | 5 ++ .../makegen/gnu/GnuMakefileGenerator.java | 55 +++++++++++++++++++ 33 files changed, 215 insertions(+) diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/depCalcProjects/test1DepCalc2/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/depCalcProjects/test1DepCalc2/Benchmarks/makefile index 2ae2d70742b..5444950ed86 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/depCalcProjects/test1DepCalc2/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/depCalcProjects/test1DepCalc2/Benchmarks/makefile @@ -21,6 +21,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := test1DepCalc2 +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/depCalcProjects/test1DepCalc3/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/depCalcProjects/test1DepCalc3/Benchmarks/makefile index a4230133880..06f9ede2622 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/depCalcProjects/test1DepCalc3/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/depCalcProjects/test1DepCalc3/Benchmarks/makefile @@ -21,6 +21,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := test1DepCalc3 +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/depCalcProjects/test1DepCalcPreBuild/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/depCalcProjects/test1DepCalcPreBuild/Benchmarks/makefile index 14d1b001361..1dbf600f1e5 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/depCalcProjects/test1DepCalcPreBuild/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/depCalcProjects/test1DepCalcPreBuild/Benchmarks/makefile @@ -21,6 +21,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := test1DepCalcPreBuild +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/1.2/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/1.2/Benchmarks/makefile index f1a25dab782..04874368bc8 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/1.2/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/1.2/Benchmarks/makefile @@ -34,6 +34,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := test12 +BUILD_ARTIFACT_EXTENSION := exe +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/2.0/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/2.0/Benchmarks/makefile index 71c8f61fd37..86e91966448 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/2.0/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/2.0/Benchmarks/makefile @@ -34,6 +34,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := test20 +BUILD_ARTIFACT_EXTENSION := exe +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/2.1/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/2.1/Benchmarks/makefile index 39aee3a5a53..2b4c3683a76 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/2.1/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/2.1/Benchmarks/makefile @@ -20,6 +20,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := MBS2dot1 +BUILD_ARTIFACT_EXTENSION := exe +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/2.1CPP/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/2.1CPP/Benchmarks/makefile index dfb93611506..c56fa84b89f 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/2.1CPP/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/oldTypeProjects/2.1CPP/Benchmarks/makefile @@ -35,6 +35,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := Test21CXX +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/linkedFolder/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/linkedFolder/Benchmarks/makefile index f709be10f04..3432d4183ed 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/linkedFolder/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/linkedFolder/Benchmarks/makefile @@ -19,6 +19,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := linkedFolder +BUILD_ARTIFACT_EXTENSION := a +BUILD_ARTIFACT_PREFIX := lib +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/linkedLib/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/linkedLib/Benchmarks/makefile index 6de72f16943..16114566632 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/linkedLib/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/linkedLib/Benchmarks/makefile @@ -19,6 +19,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := linkedLib +BUILD_ARTIFACT_EXTENSION := a +BUILD_ARTIFACT_PREFIX := lib +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/multiResConfig/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/multiResConfig/Benchmarks/makefile index 57b9e8931e2..f5b5bc1f0e5 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/multiResConfig/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/multiResConfig/Benchmarks/makefile @@ -34,6 +34,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := testResCfg +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/singleFileExe/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/singleFileExe/Benchmarks/makefile index 1a68f795370..27b807055e3 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/singleFileExe/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/singleFileExe/Benchmarks/makefile @@ -19,6 +19,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := testSingleExe +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/twoFileSO/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/twoFileSO/Benchmarks/makefile index b9624981de1..07be09b254f 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/twoFileSO/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test21Projects/twoFileSO/Benchmarks/makefile @@ -31,6 +31,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := testDoubleSO +BUILD_ARTIFACT_EXTENSION := so +BUILD_ARTIFACT_PREFIX := lib +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/CDTFortranTest1/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/CDTFortranTest1/Benchmarks/makefile index 50bc66e9c65..a7abe7f529f 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/CDTFortranTest1/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/CDTFortranTest1/Benchmarks/makefile @@ -13,6 +13,11 @@ RM := rm -rf -include ../makefile.defs +BUILD_ARTIFACT_NAME := CDTFortranTest1 +BUILD_ARTIFACT_EXTENSION := exe +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/CDTFortranTest2/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/CDTFortranTest2/Benchmarks/makefile index aab7347f2ab..a3ad1a51d41 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/CDTFortranTest2/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/CDTFortranTest2/Benchmarks/makefile @@ -15,6 +15,11 @@ RM := rm -rf -include ../makefile.defs +BUILD_ARTIFACT_NAME := CDTFortranTest2 +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/TestATO/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/TestATO/Benchmarks/makefile index e63ad38c2b8..167c97cb187 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/TestATO/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/TestATO/Benchmarks/makefile @@ -13,6 +13,11 @@ RM := rm -rf -include ../makefile.defs +BUILD_ARTIFACT_NAME := TestATO +BUILD_ARTIFACT_EXTENSION := out +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/copyandDeploy/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/copyandDeploy/Benchmarks/makefile index 4ac750c9189..b0d3220b2f0 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/copyandDeploy/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/copyandDeploy/Benchmarks/makefile @@ -20,6 +20,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := TestCopyandDeploy +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables EXECUTABLES += \ USER_OBJS.foo \ diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/deleteFile/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/deleteFile/Benchmarks/makefile index d2bdfef6d1f..2b5ce8fc338 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/deleteFile/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/deleteFile/Benchmarks/makefile @@ -31,6 +31,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := DeleteFile +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/inputTypeOption/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/inputTypeOption/Benchmarks/makefile index 02ec599a54a..c3c45f783d6 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/inputTypeOption/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/inputTypeOption/Benchmarks/makefile @@ -19,6 +19,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := inputTypeOption +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/makefile index e9ef4847f98..6fc6cb6815d 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedFolder/Benchmarks/makefile @@ -19,6 +19,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := linkedFolder +BUILD_ARTIFACT_EXTENSION := a +BUILD_ARTIFACT_PREFIX := lib +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib30/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib30/Benchmarks/makefile index 68fbe25cc9b..a943aff2ee4 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib30/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/linkedLib30/Benchmarks/makefile @@ -19,6 +19,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := linkedLib +BUILD_ARTIFACT_EXTENSION := a +BUILD_ARTIFACT_PREFIX := lib +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/multiResConfig/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/multiResConfig/Benchmarks/makefile index fd44e9a10a8..5bb098d6923 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/multiResConfig/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/multiResConfig/Benchmarks/makefile @@ -34,6 +34,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := multiResConfig +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/preAndPostBuildSteps/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/preAndPostBuildSteps/Benchmarks/makefile index e4d80dccdcf..80762d820f5 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/preAndPostBuildSteps/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/preAndPostBuildSteps/Benchmarks/makefile @@ -31,6 +31,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := preAndPostBuildSteps +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/rcbsBasicTest/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/rcbsBasicTest/Benchmarks/makefile index 6fd78dbc09e..eba1a2b88cc 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/rcbsBasicTest/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/rcbsBasicTest/Benchmarks/makefile @@ -19,6 +19,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := rcbsBasicTest +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/singleFileExe/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/singleFileExe/Benchmarks/makefile index 6275d8ddf09..ddb1b1c0926 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/singleFileExe/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/singleFileExe/Benchmarks/makefile @@ -19,6 +19,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := singleFileExe +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/test with spaces/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/test with spaces/Benchmarks/makefile index 43113041e64..8c26536ab64 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/test with spaces/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/test with spaces/Benchmarks/makefile @@ -20,6 +20,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := testwithspaces +BUILD_ARTIFACT_EXTENSION := a +BUILD_ARTIFACT_PREFIX := lib +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/test30_1/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/test30_1/Benchmarks/makefile index c407f93fc40..5fa6a4487dc 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/test30_1/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/test30_1/Benchmarks/makefile @@ -19,6 +19,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := Test30_1 +BUILD_ARTIFACT_EXTENSION := so.4.5.6 +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables TEST30_1_GNU_SO_DEPLOY_OUTPUT_OUTPUTS += \ default.so.4.5.6 \ diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/test30_2/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/test30_2/Benchmarks/makefile index 55d615da734..9b3e997dc7b 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/test30_2/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/test30_2/Benchmarks/makefile @@ -14,6 +14,11 @@ RM := rm -rf -include ../makefile.defs +BUILD_ARTIFACT_NAME := test30_2 +BUILD_ARTIFACT_EXTENSION := tmp +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables TAROUT += \ new.tar \ diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/testFileWithNoExtension/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/testFileWithNoExtension/Benchmarks/makefile index ffe40ca5682..b25512dc62a 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/testFileWithNoExtension/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/testFileWithNoExtension/Benchmarks/makefile @@ -19,6 +19,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := test +BUILD_ARTIFACT_EXTENSION := exe +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/testMacroSupportInBuildDefinitions/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/testMacroSupportInBuildDefinitions/Benchmarks/makefile index 0658a6bc051..2af07b434d4 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/testMacroSupportInBuildDefinitions/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/testMacroSupportInBuildDefinitions/Benchmarks/makefile @@ -13,6 +13,11 @@ RM := rm -include ../makefile.defs +BUILD_ARTIFACT_NAME := testMacroSupportInBuildDefinitions +BUILD_ARTIFACT_EXTENSION := tar +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/twoFileSO/Benchmarks/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/twoFileSO/Benchmarks/makefile index 369479a4f48..3ef4e768133 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/twoFileSO/Benchmarks/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/twoFileSO/Benchmarks/makefile @@ -19,6 +19,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := twoFileSO +BUILD_ARTIFACT_EXTENSION := SOS +BUILD_ARTIFACT_PREFIX := lib +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test40Projects/test_40/Benchmarks/Test 4.0 ConfigName.Dbg/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test40Projects/test_40/Benchmarks/Test 4.0 ConfigName.Dbg/makefile index a7b11f751d7..68ce6f74246 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test40Projects/test_40/Benchmarks/Test 4.0 ConfigName.Dbg/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test40Projects/test_40/Benchmarks/Test 4.0 ConfigName.Dbg/makefile @@ -42,6 +42,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := test_40 +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test40Projects/test_40/Benchmarks/dbg 2/makefile b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test40Projects/test_40/Benchmarks/dbg 2/makefile index 273cd9dc6ce..b669ad1a5ec 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test40Projects/test_40/Benchmarks/dbg 2/makefile +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test40Projects/test_40/Benchmarks/dbg 2/makefile @@ -42,6 +42,11 @@ endif -include ../makefile.defs +BUILD_ARTIFACT_NAME := test_40 +BUILD_ARTIFACT_EXTENSION := +BUILD_ARTIFACT_PREFIX := +BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),) + # Add inputs and outputs from these tool invocations to the build variables # All Target diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/makegen/gnu/GnuMakefileGenerator.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/makegen/gnu/GnuMakefileGenerator.java index 13091ae944d..77c646079e9 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/makegen/gnu/GnuMakefileGenerator.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/makegen/gnu/GnuMakefileGenerator.java @@ -1263,6 +1263,61 @@ public class GnuMakefileGenerator implements IManagedBuilderMakefileGenerator2 { // Include makefile.defs supplemental makefile buffer.append("-include ").append(reachProjectRoot()).append(SEPARATOR).append(MAKEFILE_DEFS).append(NEWLINE); //$NON-NLS-1$ + String ext = config.getArtifactExtension(); + // try to resolve the build macros in the artifact extension + try { + ext = ManagedBuildManager.getBuildMacroProvider().resolveValueToMakefileFormat(ext, EMPTY_STRING, + WHITESPACE, IBuildMacroProvider.CONTEXT_CONFIGURATION, config); + } catch (BuildMacroException e) { + } + + String name = config.getArtifactName(); + // try to resolve the build macros in the artifact name + try { + String resolved = ManagedBuildManager.getBuildMacroProvider().resolveValueToMakefileFormat(name, + EMPTY_STRING, WHITESPACE, IBuildMacroProvider.CONTEXT_CONFIGURATION, config); + if ((resolved = resolved.trim()).length() > 0) { + name = resolved; + } + } catch (BuildMacroException e) { + } + + String prefix = EMPTY_STRING; + ITool targetTool = config.calculateTargetTool(); + if (targetTool != null) { + prefix = targetTool.getOutputPrefix(); + if (prefix == null) { + prefix = EMPTY_STRING; + } + } + // try to resolve the build macros in the artifact prefix + try { + String resolved = ManagedBuildManager.getBuildMacroProvider().resolveValueToMakefileFormat(prefix, + EMPTY_STRING, WHITESPACE, IBuildMacroProvider.CONTEXT_CONFIGURATION, config); + if ((resolved = resolved.trim()).length() > 0) { + prefix = resolved; + } + } catch (BuildMacroException e) { + } + + @SuppressWarnings("nls") + String[][] buildArtifactVars = new String[][] { // + { "BUILD_ARTIFACT_NAME", name }, // + { "BUILD_ARTIFACT_EXTENSION", ext }, // + { "BUILD_ARTIFACT_PREFIX", prefix }, // + { "BUILD_ARTIFACT", + "$(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),)" }, // + }; + + buffer.append(NEWLINE); + for (String[] var : buildArtifactVars) { + buffer.append(var[0]).append(" :="); //$NON-NLS-1$ + if (!var[1].isEmpty()) { + buffer.append(WHITESPACE).append(var[1]); + } + buffer.append(NEWLINE); + } + return (buffer.append(NEWLINE)); }