]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Conf/build_rule.template
BaseTools GCC: move -c compiler flag to build rules
[mirror_edk2.git] / BaseTools / Conf / build_rule.template
index eb4ae749fda5bc7a7514a656ec2c95bfe59456e0..c6de768197622a5998e950ed665e704ee172a70b 100644 (file)
 \r
     <Command.GCC, Command.GCCLD, Command.RVCT>\r
         # For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues\r
-        "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}\r
+        "$(CC)" $(CC_FLAGS) -c -o ${dst} $(INC) ${src}\r
 \r
     <Command.XCODE>\r
         "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}\r
 \r
     <Command.GCC, Command.GCCLD, Command.RVCT>\r
         # For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues\r
-        "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}\r
+        "$(CC)" $(CC_FLAGS) -c -o ${dst} $(INC) ${src}\r
         "$(SYMRENAME)" $(SYMRENAME_FLAGS) ${dst}\r
 \r
 [C-Code-File.BASE.AARCH64,C-Code-File.SEC.AARCH64,C-Code-File.PEI_CORE.AARCH64,C-Code-File.PEIM.AARCH64]\r
         $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj\r
 \r
     <Command.GCC, Command.GCCLD>\r
-        "$(CC)" $(CC_FLAGS) $(CC_XIPFLAGS) -o ${dst} $(INC) ${src}\r
+        "$(CC)" $(CC_FLAGS) $(CC_XIPFLAGS) -c -o ${dst} $(INC) ${src}\r
 \r
 [C-Header-File]\r
     <InputFile>\r
         "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) -filelist $(STATIC_LIBRARY_FILES_LIST)  $(DLINK2_FLAGS)\r
     \r
     \r
+[Static-Library-File.SEC.AARCH64, Static-Library-File.PEI_CORE.AARCH64, Static-Library-File.PEIM.AARCH64]\r
+    <InputFile>\r
+        *.lib\r
+\r
+    <ExtraDependency>\r
+        $(MAKE_FILE)\r
+\r
+    <OutputFile>\r
+        $(DEBUG_DIR)(+)$(MODULE_NAME).dll\r
+\r
+    <Command.GCC, Command.GCCLD>\r
+        "$(DLINK)" -o ${dst} $(DLINK_FLAGS) $(DLINK_XIPFLAGS) -Wl,--start-group,@$(STATIC_LIBRARY_FILES_LIST),--end-group $(DLINK2_FLAGS)\r
+        "$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst}\r
+\r
+\r
 [Static-Library-File.USER_DEFINED]\r
     <InputFile>\r
         *.lib\r
         "$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(GENFW_FLAGS)\r
 \r
     <Command.GCC, Command.GCCLD>\r
-        "$(ASLCC)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(INC) ${src}\r
+        "$(ASLCC)" -c -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(INC) ${src}\r
         "$(ASLDLINK)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj\r
         "$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(GENFW_FLAGS)\r
 \r
         "$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(GENFW_FLAGS)\r
 \r
     <Command.GCC, Command.GCCLD>\r
-        "$(ASLCC)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(INC) ${src}\r
+        "$(ASLCC)" -c -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(INC) ${src}\r
         "$(ASLDLINK)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj\r
         "$(GENFW)" -o ${dst} -c $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(GENFW_FLAGS)\r
         \r