# HG changeset patch # User Claus Gittinger # Date 1402153361 -7200 # Node ID f28722d20fbb2bcc5e68a79e61140c9abc95041f # Parent 9002c0912b9033e9798bb0f95aa37c26c9ac1929 class: Tools::ProjectBuilder class definition added: #makeAppOnly #makeAppOnly: changed: #makeWithOutputTo:errorTo: diff -r 9002c0912b90 -r f28722d20fbb ProjectBuilder.st --- a/ProjectBuilder.st Sat Jun 07 16:22:32 2014 +0200 +++ b/ProjectBuilder.st Sat Jun 07 17:02:41 2014 +0200 @@ -16,8 +16,8 @@ Object subclass:#ProjectBuilder instanceVariableNames:'package projectDefinitionClass sourceCodeManager buildDirectory myWorkingDirectory mySTXTopDirectory myTopDirectory outputStream - makeExeOnly makeQuick usedCompiler stdOut stdErr isQuickBuild - isLocalBuild' + makeExeOnly makeAppOnly makeQuick usedCompiler stdOut stdErr + isQuickBuild isLocalBuild' classVariableNames:'PreviousBuildDirectory' poolDictionaries:'' category:'System-Support-Projects' @@ -161,6 +161,14 @@ isQuickBuild := aBoolean. ! +makeAppOnly + ^ (makeAppOnly ? false) +! + +makeAppOnly:aBoolean + makeAppOnly := aBoolean. +! + makeExeOnly ^ (makeExeOnly ? false) ! @@ -942,7 +950,7 @@ ! makeWithOutputTo:stdOut errorTo:stdErr - |module directory makeCommand forceArg| + |module directory makeCommand forceArg makeTarget| module := package module. directory := package directory. @@ -984,21 +992,17 @@ onError:[:status | self error:'make failed']. ] ifFalse:[ (self makeExeOnly) ifTrue:[ - self activityNotification:(makeCommand,' exe'). + makeTarget := 'exe' + ] ifFalse:[ + (self makeAppOnly) ifTrue:[ + makeTarget := 'app' + ] ifFalse:[ + makeTarget := 'ALL_NP' + ]. + self activityNotification:(makeCommand,' ',makeTarget). OperatingSystem "/ generate the executable - executeCommand:(makeCommand,' exe',forceArg) - inputFrom:nil - outputTo:stdOut - errorTo:stdErr - inDirectory:(buildDirectory / module / directory) - onError:[:status | self error:'make failed']. - - ] ifFalse:[ - "/ generate the self-installable package - self activityNotification:(makeCommand,' ALL_NP'). - OperatingSystem - executeCommand:(makeCommand,' ALL_NP') + executeCommand:(makeCommand,' ',makeTarget,forceArg) inputFrom:nil outputTo:stdOut errorTo:stdErr