diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java index 93b00d76f6b..1d8e5d8c742 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java @@ -9,6 +9,7 @@ * IBM - Initial API and implementation * Baltasar Belyavsky (Texas Instruments) - [279633] Custom option command-generator support * Miwako Tokugawa (Intel Corporation) - bug 222817 (OptionCategoryApplicability) + * Liviu Ionescu - [322168] *******************************************************************************/ package org.eclipse.cdt.managedbuilder.internal.core; @@ -4047,6 +4048,7 @@ public class Tool extends HoldsOptions implements ITool, IOptionCategory, IMatch // find matching option try { if (op1.getValueType() == op2.getValueType() && + op1.getName() != null && op1.getName().equals(op2.getName())) { Object ob1 = op1.getValue(); Object ob2 = op2.getValue(); 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 8c275d9924a..8f3d7effdb0 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 @@ -12,6 +12,7 @@ * Anna Dushistova (Mentor Graphics) - [307244] extend visibility of fields in GnuMakefileGenerator * James Blackburn (Broadcom Corp.) * Marc-Andre Laperle + * Liviu Ionescu - [322168] *******************************************************************************/ package org.eclipse.cdt.managedbuilder.makegen.gnu; @@ -4013,7 +4014,12 @@ public class GnuMakefileGenerator implements IManagedBuilderMakefileGenerator2 { Set>> set = buildOutVars.entrySet(); for (Entry> entry : set) { String macroName = entry.getKey(); - addMacroAdditionPrefix(map, macroName, "", false); //$NON-NLS-1$ + + // for projects with specific setting on folders/files do + // not clear the macro value on subsequent passes + if (!map.containsKey(macroName)) { + addMacroAdditionPrefix(map, macroName, "", false); //$NON-NLS-1$ + } } // Set of input extensions for which macros have been created so far