From c50d928a8901f53447c7e77853098550479561fe Mon Sep 17 00:00:00 2001 From: "ho.namkoong" Date: Fri, 8 Mar 2013 20:13:00 +0900 Subject: [PATCH] [Title] Modify makefile and build_data [Type] [Module] [Priority] [Jira#] [Redmine#] 8662 [Problem] [Cause] [Solution] [TestCase] Change-Id: If35b8a2de0ff3310d84e435735d85e1b142f1cb7 --- .../tizen/cli/exec/gen/CLIProjectGenerator.java | 74 ++++++++++++++++++---- package/addingFiles/template/makefile/build_data | 13 ++-- .../template/makefile/makefile_app_template | 4 +- .../template/makefile/makefile_shared_template | 4 +- .../template/makefile/makefile_static_template | 4 +- 5 files changed, 73 insertions(+), 26 deletions(-) diff --git a/org.tizen.cli/src/org/tizen/cli/exec/gen/CLIProjectGenerator.java b/org.tizen.cli/src/org/tizen/cli/exec/gen/CLIProjectGenerator.java index 1cb2989..0ad60bd 100644 --- a/org.tizen.cli/src/org/tizen/cli/exec/gen/CLIProjectGenerator.java +++ b/org.tizen.cli/src/org/tizen/cli/exec/gen/CLIProjectGenerator.java @@ -13,7 +13,10 @@ import org.tizen.nativecommon.exception.TizenProcessFailureException; import org.tizen.nativecommon.templateengine.TizenTemplateEngine; import org.tizen.nativecommon.templateengine.build.AbstractProjectGenerator; import org.tizen.nativecommon.templateengine.build.model.BuildProperty; +import org.tizen.nativecommon.templateengine.build.model.DevPackageModel; +import org.tizen.nativecommon.templateengine.build.model.RootstrapModel; import org.tizen.nativecommon.templateengine.build.model.TargetModel; +import org.tizen.nativecommon.templateengine.build.model.ToolchainModel; import org.tizen.nativecommon.templateengine.model.TizenTemplate; import org.tizen.nativecommon.templateengine.process.TizenProcessRunner; import org.tizen.nativecommon.templateengine.util.TemplateUtil; @@ -26,28 +29,55 @@ public class CLIProjectGenerator extends AbstractProjectGenerator { private static final String MACRO_OBJS = "CLI_OBJ"; private static final String MACRO_DEPS = "CLI_DEPS"; private static final String MACRO_BINARY = "CLI_BINARY"; + private static final String MACRO_PRJTYPE = "projectType"; + private static final String MACRO_PLATFORM_VER = "platformVer"; + private static final String MACRO_TOOLCHAIN = "tc"; private static final String WHITE_SPACE = " "; private static final String WHITE_SPACE_IN_CLI = "\\ "; public static final String DIR_MAKEFILE = InstallPathConfig.getSDKPath() + File.separatorChar + "tools" + File.separatorChar + "ide" + File.separatorChar + "template" + File.separatorChar +"makefile"; - private static final String DIR_ROOTSTRAP = InstallPathConfig.getPlatformVersionPath() + File.separatorChar + "rootstraps"; + private static final String DIR_ROOTSTRAP = "$(ROOTSTRAP)"; + private static final String DIR_SDK = "$(SDKPATH)"; + private static final String DIR_DEFAULT_TC_CF = "$(TC_COMPILER_MISC)"; + private static final String DIR_DEFAULT_RS_CF = "$(RS_COMPILER_MISC)"; + private static final String DIR_DEFAULT_TC_LF = "$(TC_LINKER_MISC)"; + private static final String DIR_DEFAULT_RS_LF = "$(RS_LINKER_MISC)"; + + public CLIProjectGenerator() { + super(); + } @Override - public void addDefaultIncludePaths(TizenTemplate template, TargetModel target) { - String projectPath = template.getProjectPath(); - String defaultIncPath = FileUtil.appendPath(projectPath, "inc", false); - buildProperty.addIncludePath(getQuotedString(defaultIncPath)); - - super.addDefaultIncludePaths(template, target); + protected String getSDKPath() { + return DIR_SDK; } - + + @Override + protected String getDefaultCfTc(ToolchainModel target) { + return DIR_DEFAULT_TC_CF; + } + + @Override + protected String getDefaultCfRs(RootstrapModel rootstrap) { + return DIR_DEFAULT_RS_CF; + } + + @Override + protected String getDefaultLfTc(ToolchainModel toolchain) { + return DIR_DEFAULT_TC_LF; + } + + @Override + protected String getDefaultLfRs(RootstrapModel rootstrap) { + return DIR_DEFAULT_RS_LF; + } + @Override protected String getRootstrapPath(String rootstrapId) { - //TODO It should be replaced to Macro. - return DIR_ROOTSTRAP + File.separatorChar + rootstrapId; + return DIR_ROOTSTRAP; } - + @Override protected String getQuotedString(String msg) { return msg.replace(WHITE_SPACE, WHITE_SPACE_IN_CLI); @@ -57,6 +87,7 @@ public class CLIProjectGenerator extends AbstractProjectGenerator { public void pressDefaultPostValueStore(Map valueStore, TizenTemplate template) throws TizenProcessFailureException { pressValueStoreForSrcObjDep(valueStore, template); + pressValueStoreForBuildData(valueStore, template); String projectName = template.getProjectName(); String projectType = (String) template.getProperty(TizenTemplate.PROPERTY_KEY_PROJECTTYPE); @@ -77,6 +108,12 @@ public class CLIProjectGenerator extends AbstractProjectGenerator { super.pressDefaultPostValueStore(valueStore, template); } + private void pressValueStoreForBuildData(Map valueStore, TizenTemplate template) { + valueStore.put(MACRO_PLATFORM_VER, (String) template.getProperty(MACRO_PLATFORM_VER)); + valueStore.put(MACRO_PRJTYPE, (String) template.getProperty(MACRO_PRJTYPE)); + valueStore.put(MACRO_TOOLCHAIN, (String) template.getProperty(MACRO_TOOLCHAIN)); + } + private static void pressValueStoreForSrcObjDep(Map valueStore, TizenTemplate template) { String projectPath = FileUtil.appendPath(template.getProjectPath(), "src"); File projectDir = new File(projectPath); @@ -185,4 +222,19 @@ public class CLIProjectGenerator extends AbstractProjectGenerator { runner.setTemplate(template); return runner; } + + @Override + public void doRemainingJob(List emulDevPackageModelList, TizenTemplate template, TargetModel target) { + ToolchainModel toolChain = target.getToolchain(); + RootstrapModel rootstrap = target.getRootstrap(); + + String platformVer = rootstrap.getVersion(); + String toolChainName = toolChain.getName(); + String projectType = toolChain.getProjectType(); + projectType = FileUtil.getFileExtension(projectType); + + template.setProperty(MACRO_PLATFORM_VER, platformVer); + template.setProperty(MACRO_PRJTYPE, projectType); + template.setProperty(MACRO_TOOLCHAIN, toolChainName); + } } diff --git a/package/addingFiles/template/makefile/build_data b/package/addingFiles/template/makefile/build_data index 8998440..7dd3c4c 100644 --- a/package/addingFiles/template/makefile/build_data +++ b/package/addingFiles/template/makefile/build_data @@ -1,9 +1,4 @@ -target:emulator:$(emulTarget) -target:device:$(devTarget) -target:emulator:includepath:$(emulInc) -target:device:includepath:$(devInc) -target:emulator:cflags:$(emulCf) -target:device:cflags:$(devCf) -target:emulator:lflags:$(emulLf) -target:device:lflags:$(devLf) - +PLATFORM_VER:$(platformVer) +ARCHITECTURE:i386 +TOOLCHAIN:$(tc) +TYPE:$(projectType) diff --git a/package/addingFiles/template/makefile/makefile_app_template b/package/addingFiles/template/makefile/makefile_app_template index b530223..d7b95b6 100644 --- a/package/addingFiles/template/makefile/makefile_app_template +++ b/package/addingFiles/template/makefile/makefile_app_template @@ -50,7 +50,7 @@ $(CLI_DEPS) src/%.o: ../src/%.cpp @echo 'Building file: $<' @echo 'Invoking: C++ Compiler' - $(CC) -I"pch" -D_DEBUG -O0 -g3 -Wall -c -fmessage-length=0 $(INCLUDE_PATH) $(CFLAG) -D_APP_LOG -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + $(CC) -D_DEBUG -I"$(PROJPATH)/inc" -O0 -g3 -Wall -c -fmessage-length=0 $(emulInc) $(emulCf) -D_APP_LOG -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' @@ -92,7 +92,7 @@ all: $(CLI_BINARY) secondary-outputs $(CLI_BINARY): $(OBJS) $(USER_OBJS) @echo 'Building target: $@' @echo 'Invoking: C++ Linker' - $(CC) -o"$(CLI_BINARY)" $(OBJS) $(USER_OBJS) $(LIBS) $(LFLAG) + $(CC) -o"$(CLI_BINARY)" $(OBJS) $(USER_OBJS) $(LIBS) $(emulLf) @echo 'Finished building target: $@' @echo ' ' diff --git a/package/addingFiles/template/makefile/makefile_shared_template b/package/addingFiles/template/makefile/makefile_shared_template index 4bd5c36..43fa79a 100644 --- a/package/addingFiles/template/makefile/makefile_shared_template +++ b/package/addingFiles/template/makefile/makefile_shared_template @@ -47,7 +47,7 @@ $(CLI_DEPS) src/%.o: ../src/%.cpp @echo 'Building file: $<' @echo 'Invoking: C++ Compiler' - $(CC) -I"pch" -D_DEBUG -O0 -g3 -Wall -c -fmessage-length=0 $(INCLUDE_PATH) $(CFLAG) -D_APP_LOG -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + $(CC) -D_DEBUG -I"$(PROJPATH)/inc" -O0 -g3 -Wall -c -fmessage-length=0 $(emulInc) $(emulCf) -D_APP_LOG -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' @@ -89,7 +89,7 @@ all: $(CLI_BINARY) secondary-outputs $(CLI_BINARY): $(OBJS) $(USER_OBJS) @echo 'Building target: $@' @echo 'Invoking: C++ Linker' - $(CC) -o"$(CLI_BINARY)" $(OBJS) $(USER_OBJS) $(LIBS) $(LFLAG) + $(CC) -o"$(CLI_BINARY)" $(OBJS) $(USER_OBJS) $(LIBS) $(emulLf) @echo 'Finished building target: $@' @echo ' ' diff --git a/package/addingFiles/template/makefile/makefile_static_template b/package/addingFiles/template/makefile/makefile_static_template index 6834036..bbde3e8 100644 --- a/package/addingFiles/template/makefile/makefile_static_template +++ b/package/addingFiles/template/makefile/makefile_static_template @@ -47,7 +47,7 @@ $(CLI_DEPS) src/%.o: ../src/%.cpp @echo 'Building file: $<' @echo 'Invoking: C++ Compiler' - $(CC) -I"pch" -D_DEBUG $(INCLUDE_PATH) -O0 -g3 -Wall -c -fmessage-length=0 $(CFLAG) -D_APP_LOG -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + $(CC) -D_DEBUG -I"$(PROJPATH)/inc" -O0 -g3 -Wall -c -fmessage-length=0 $(emulInc) $(emulCf) -D_APP_LOG -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' @@ -89,7 +89,7 @@ all: $(CLI_BINARY) secondary-outputs $(CLI_BINARY): $(OBJS) $(USER_OBJS) @echo 'Building target: $@' @echo 'Invoking: Archiver' - ar -r "$(CLI_BINARY)" $(OBJS) $(USER_OBJS) $(LIBS) + i386-linux-gnueabi-ar -r "$(CLI_BINARY)" $(OBJS) $(USER_OBJS) $(LIBS) @echo 'Finished building target: $@' @echo ' ' -- 2.7.4