--- ./results/plugins/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java.fix 2007-01-26 19:22:27.000000000 -0500 +++ ./results/plugins/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java 2007-01-26 19:43:53.000000000 -0500 @@ -700,34 +700,40 @@ public class GeneratedMakefileBuilder ex } } } - - // Now call make - checkCancel(monitor); - statusMsg = ManagedMakeMessages.getFormattedString("ManagedMakeBuilder.message.starting", getProject().getName()); //$NON-NLS-1$ - monitor.subTask(statusMsg); - IPath topBuildDir = generator.getBuildWorkingDir(); - if (topBuildDir != null) { - invokeMake(FULL_BUILD, topBuildDir, info, generator, monitor); + + if (result.getCode() != IStatus.ERROR) { + // Now call make + checkCancel(monitor); + statusMsg = ManagedMakeMessages.getFormattedString("ManagedMakeBuilder.message.starting", getProject().getName()); //$NON-NLS-1$ + monitor.subTask(statusMsg); + IPath topBuildDir = generator.getBuildWorkingDir(); + if (topBuildDir != null) { + invokeMake(FULL_BUILD, topBuildDir, info, generator, monitor); + } else { + statusMsg = ManagedMakeMessages.getFormattedString(NOTHING_BUILT, getProject().getName()); //$NON-NLS-1$ + monitor.subTask(statusMsg); + return; + } + + // Now regenerate the dependencies + checkCancel(monitor); + statusMsg = ManagedMakeMessages.getFormattedString("ManagedMakeBuilder.message.regen.deps", getProject().getName()); //$NON-NLS-1$ + monitor.subTask(statusMsg); + try { + generator.regenerateDependencies(false); + } catch (CoreException e) { + // Throw the exception back to the builder + throw e; + } + + // Build finished message + statusMsg = ManagedMakeMessages.getFormattedString(BUILD_FINISHED, getProject().getName()); //$NON-NLS-1$ + monitor.subTask(statusMsg); } else { - statusMsg = ManagedMakeMessages.getFormattedString(NOTHING_BUILT, getProject().getName()); //$NON-NLS-1$ + // Build finished message + statusMsg = ManagedMakeMessages.getFormattedString(BUILD_STOPPED_ERR, getProject().getName()); //$NON-NLS-1$ monitor.subTask(statusMsg); - return; - } - - // Now regenerate the dependencies - checkCancel(monitor); - statusMsg = ManagedMakeMessages.getFormattedString("ManagedMakeBuilder.message.regen.deps", getProject().getName()); //$NON-NLS-1$ - monitor.subTask(statusMsg); - try { - generator.regenerateDependencies(false); - } catch (CoreException e) { - // Throw the exception back to the builder - throw e; } - - // Build finished message - statusMsg = ManagedMakeMessages.getFormattedString(BUILD_FINISHED, getProject().getName()); //$NON-NLS-1$ - monitor.subTask(statusMsg); } /* (non-Javadoc)