mirror of
https://github.com/acidanthera/audk.git
synced 2025-09-23 17:57:45 +02:00
ImageTool: Update command syntax to suit BaseTools/GenMake
This commit is contained in:
parent
9fe980971f
commit
e446bbff25
@ -353,7 +353,7 @@
|
||||
$(OUTPUT_DIR)(+)$(MODULE_NAME).map
|
||||
|
||||
<Command.MSFT, Command.INTEL, Command.CLANGPDB>
|
||||
ImageTool PeXip ${src} ${dst} $(MODULE_TYPE)
|
||||
ImageTool GenImage -c PE -t $(MODULE_TYPE) -o ${dst} ${src}
|
||||
$(CP) ${dst} $(DEBUG_DIR)
|
||||
$(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
|
||||
-$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)
|
||||
@ -363,7 +363,7 @@
|
||||
$(CP) ${src} $(DEBUG_DIR)(+)$(MODULE_NAME).strip
|
||||
$(OBJCOPY) $(OBJCOPY_STRIPFLAG) $(DEBUG_DIR)(+)$(MODULE_NAME).strip
|
||||
|
||||
ImageTool ElfToPe $(DEBUG_DIR)(+)$(MODULE_NAME).strip ${dst} $(MODULE_TYPE)
|
||||
ImageTool GenImage -c PE -t $(MODULE_TYPE) -o ${dst} $(DEBUG_DIR)(+)$(MODULE_NAME).strip
|
||||
|
||||
$(CP) ${dst} $(DEBUG_DIR)
|
||||
$(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
|
||||
@ -374,7 +374,7 @@
|
||||
"$(MTOC)" -subsystem $(MODULE_TYPE) $(MTOC_FLAGS) ${src} $(DEBUG_DIR)(+)$(MODULE_NAME).pecoff
|
||||
# create symbol file for GDB debug
|
||||
-$(DSYMUTIL) ${src}
|
||||
ImageTool PeXip $(DEBUG_DIR)(+)$(MODULE_NAME).pecoff ${dst} $(MODULE_TYPE)
|
||||
ImageTool GenImage -c PE -t $(MODULE_TYPE) -o ${dst} $(DEBUG_DIR)(+)$(MODULE_NAME).pecoff
|
||||
$(CP) ${dst} $(DEBUG_DIR)
|
||||
$(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
|
||||
-$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)
|
||||
@ -392,7 +392,7 @@
|
||||
$(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc
|
||||
|
||||
<Command.MSFT, Command.INTEL, Command.CLANGPDB>
|
||||
ImageTool PeXip ${src} ${dst} $(MODULE_TYPE) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc
|
||||
ImageTool GenImage -c PE -t $(MODULE_TYPE) -h $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -o ${dst} ${src}
|
||||
$(CP) ${dst} $(DEBUG_DIR)
|
||||
$(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
|
||||
-$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)
|
||||
@ -402,7 +402,7 @@
|
||||
$(CP) ${src} $(DEBUG_DIR)(+)$(MODULE_NAME).strip
|
||||
$(OBJCOPY) $(OBJCOPY_STRIPFLAG) $(DEBUG_DIR)(+)$(MODULE_NAME).strip
|
||||
|
||||
ImageTool ElfToPe $(DEBUG_DIR)(+)$(MODULE_NAME).strip ${dst} $(MODULE_TYPE) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc
|
||||
ImageTool GenImage -c PE -t $(MODULE_TYPE) -h $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -o ${dst} $(DEBUG_DIR)(+)$(MODULE_NAME).strip
|
||||
|
||||
$(CP) ${dst} $(DEBUG_DIR)
|
||||
$(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
|
||||
@ -413,7 +413,7 @@
|
||||
"$(MTOC)" -subsystem $(MODULE_TYPE) $(MTOC_FLAGS) ${src} $(DEBUG_DIR)(+)$(MODULE_NAME).pecoff
|
||||
# create symbol file for GDB debug
|
||||
-$(DSYMUTIL) ${src}
|
||||
ImageTool PeXip $(DEBUG_DIR)(+)$(MODULE_NAME).pecoff ${dst} $(MODULE_TYPE) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc
|
||||
ImageTool GenImage -c PE -t $(MODULE_TYPE) -h $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -o ${dst} $(DEBUG_DIR)(+)$(MODULE_NAME).pecoff
|
||||
$(CP) ${dst} $(DEBUG_DIR)
|
||||
$(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
|
||||
-$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)
|
||||
@ -481,12 +481,12 @@
|
||||
<Command.MSFT, Command.INTEL>
|
||||
"$(ASLCC)" $(DEPS_FLAGS) /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(ASLCC_FLAGS) $(DEPS_FLAGS) $(INC) ${src}
|
||||
"$(ASLDLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
||||
ImageTool GetAcpi $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll ${dst}
|
||||
ImageTool GetAcpi -o ${dst} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll
|
||||
|
||||
<Command.GCC>
|
||||
"$(ASLCC)" $(DEPS_FLAGS) -c -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(DEPS_FLAGS) $(INC) ${src}
|
||||
"$(ASLDLINK)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
||||
ImageTool GetAcpi $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll ${dst}
|
||||
ImageTool GetAcpi -o ${dst} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll
|
||||
|
||||
[Acpi-Table-Code-File]
|
||||
<InputFile>
|
||||
@ -501,23 +501,23 @@
|
||||
<Command.MSFT, Command.INTEL>
|
||||
"$(ASLCC)" $(DEPS_FLAGS) /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(ASLCC_FLAGS) $(DEPS_FLAGS) $(INC) ${src}
|
||||
"$(ASLDLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
||||
ImageTool GetAcpi $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll ${dst}
|
||||
ImageTool GetAcpi -o ${dst} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll
|
||||
|
||||
<Command.GCC>
|
||||
"$(ASLCC)" $(DEPS_FLAGS) -c -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(DEPS_FLAGS) $(INC) ${src}
|
||||
"$(ASLDLINK)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS)
|
||||
ImageTool GetAcpi $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll ${dst}
|
||||
ImageTool GetAcpi -o ${dst} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll
|
||||
|
||||
<Command.CLANGPDB>
|
||||
"$(ASLCC)" $(DEPS_FLAGS) -c -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(CC_FLAGS) $(ASLCC_FLAGS) $(DEPS_FLAGS) $(INC) ${src}
|
||||
"$(ASLDLINK)" /OUT:$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
||||
ImageTool GetAcpi $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll ${dst}
|
||||
ImageTool GetAcpi -o ${dst} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll
|
||||
|
||||
<Command.XCODE>
|
||||
"$(ASLCC)" $(DEPS_FLAGS) -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj $(ASLCC_FLAGS) $(DEPS_FLAGS) $(INC) ${src}
|
||||
"$(ASLDLINK)" -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(ASLDLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
||||
"$(MTOC)" -subsystem $(MODULE_TYPE) $(MTOC_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.dll $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.pecoff
|
||||
ImageTool GetAcpi $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.pecoff ${dst}
|
||||
ImageTool GetAcpi -o ${dst} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.pecoff
|
||||
|
||||
|
||||
[Nasm-to-Binary-Code-File]
|
||||
@ -646,4 +646,4 @@
|
||||
$(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc
|
||||
|
||||
<Command>
|
||||
ImageTool HiiBin $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc $(MODULE_GUID) $(HII_BINARY_PACKAGES)
|
||||
ImageTool HiiBin $(MODULE_GUID) -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc $(HII_BINARY_PACKAGES)
|
||||
|
@ -379,65 +379,147 @@ GenExecutable (
|
||||
|
||||
int main (int argc, const char *argv[])
|
||||
{
|
||||
RETURN_STATUS Status;
|
||||
UINT32 NumOfFiles;
|
||||
RETURN_STATUS Status;
|
||||
UINT32 NumOfFiles;
|
||||
const char *OutputName;
|
||||
const char *InputName;
|
||||
const char *FormatName;
|
||||
const char *TypeName;
|
||||
const char *HiiFileName;
|
||||
const char *BaseAddress;
|
||||
bool Strip;
|
||||
bool FixedAddress;
|
||||
int ArgIndex;
|
||||
|
||||
if (argc < 2) {
|
||||
fprintf (stderr, "ImageTool: No command is specified\n");
|
||||
raise ();
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (strcmp (argv[1], "ElfToPe") == 0 || strcmp (argv[1], "PeXip") == 0) {
|
||||
//
|
||||
// The command structure must prefix all output files with "-o" and all
|
||||
// following dash-less parameters must be input files due to scanning for
|
||||
// these arguments by BaseTools/GenMake.
|
||||
//
|
||||
if (strcmp (argv[1], "GenImage") == 0) {
|
||||
if (argc < 5) {
|
||||
fprintf (stderr, "ImageTool: Command arguments are missing\n");
|
||||
fprintf (stderr, " Usage: ImageTool %s InputFile OutputFile ModuleType [HiiRc]\n", argv[1]);
|
||||
fprintf (stderr, " Usage: ImageTool GenImage [-c Format] [-t ModuleType] [-h HiiRc] [-b BaseAddress] [-s] [-f] -o OutputFile InputFile\n");
|
||||
raise ();
|
||||
return -1;
|
||||
}
|
||||
|
||||
Status = GenExecutable (argv[3], argv[2], "PE", argv[4], argc >= 6 ? argv[5] : NULL, NULL, FALSE, FALSE);
|
||||
OutputName = NULL;
|
||||
InputName = NULL;
|
||||
FormatName = NULL;
|
||||
TypeName = NULL;
|
||||
HiiFileName = NULL;
|
||||
BaseAddress = NULL;
|
||||
Strip = false;
|
||||
FixedAddress = false;
|
||||
for (ArgIndex = 2; ArgIndex < argc; ++ArgIndex) {
|
||||
if (strcmp (argv[ArgIndex], "-o") == 0) {
|
||||
++ArgIndex;
|
||||
if (ArgIndex == argc) {
|
||||
fprintf (stderr, "Must specify an argument to -o\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
OutputName = argv[ArgIndex];
|
||||
} else if (strcmp (argv[ArgIndex], "-c") == 0) {
|
||||
++ArgIndex;
|
||||
if (ArgIndex == argc) {
|
||||
fprintf (stderr, "Must specify an argument to -c\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
FormatName = argv[ArgIndex];
|
||||
} else if (strcmp (argv[ArgIndex], "-t") == 0) {
|
||||
++ArgIndex;
|
||||
if (ArgIndex == argc) {
|
||||
fprintf (stderr, "Must specify an argument to -t\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
TypeName = argv[ArgIndex];
|
||||
} else if (strcmp (argv[ArgIndex], "-h") == 0) {
|
||||
++ArgIndex;
|
||||
if (ArgIndex == argc) {
|
||||
fprintf (stderr, "Must specify an argument to -h\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
HiiFileName = argv[ArgIndex];
|
||||
} else if (strcmp (argv[ArgIndex], "-b") == 0) {
|
||||
++ArgIndex;
|
||||
if (ArgIndex == argc) {
|
||||
fprintf (stderr, "Must specify an argument to -b\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
BaseAddress = argv[ArgIndex];
|
||||
} else if (strcmp (argv[ArgIndex], "-s") == 0) {
|
||||
Strip = true;
|
||||
} else if (strcmp (argv[ArgIndex], "-f") == 0) {
|
||||
FixedAddress = true;
|
||||
} else if (argv[ArgIndex][0] == '-') {
|
||||
fprintf (stderr, "Unknown parameter %s\n", argv[ArgIndex]);
|
||||
} else if (InputName == NULL) {
|
||||
InputName = argv[ArgIndex];
|
||||
} else {
|
||||
fprintf (stderr, "GenImage only supports one input file.\n");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
if (OutputName == NULL) {
|
||||
fprintf (stderr, "Must provide an output file.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (InputName == NULL) {
|
||||
fprintf (stderr, "Must provide an input file.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
Status = GenExecutable (
|
||||
OutputName,
|
||||
InputName,
|
||||
FormatName,
|
||||
TypeName,
|
||||
HiiFileName,
|
||||
BaseAddress,
|
||||
Strip,
|
||||
FixedAddress
|
||||
);
|
||||
if (RETURN_ERROR (Status)) {
|
||||
raise ();
|
||||
return -1;
|
||||
}
|
||||
} else if (strcmp (argv[1], "HiiBin") == 0) {
|
||||
if (argc < 5) {
|
||||
if (argc < 5 || strcmp (argv[3], "-o") != 0) {
|
||||
fprintf (stderr, "ImageTool: Command arguments are missing\n");
|
||||
fprintf (stderr, " Usage: ImageTool HiiBin OutputFile GUID InputFile1 InputFile2 ...\n");
|
||||
fprintf (stderr, " Usage: ImageTool HiiBin GUID -o OutputFile InputFile1 InputFile2 ...\n");
|
||||
raise ();
|
||||
return -1;
|
||||
}
|
||||
|
||||
NumOfFiles = (UINT32)argc - 4U;
|
||||
NumOfFiles = (UINT32)argc - 5U;
|
||||
|
||||
Status = HiiBin (argv[2], argv[3], &argv[4], NumOfFiles);
|
||||
if (RETURN_ERROR (Status)) {
|
||||
raise ();
|
||||
return -1;
|
||||
}
|
||||
} else if (strcmp (argv[1], "Rebase") == 0) {
|
||||
if (argc < 5) {
|
||||
fprintf (stderr, "ImageTool: Command arguments are missing\n");
|
||||
fprintf (stderr, " Usage: ImageTool Rebase Address InputFile OutputFile\n");
|
||||
raise ();
|
||||
return -1;
|
||||
}
|
||||
|
||||
Status = GenExecutable (argv[4], argv[3], "PE", NULL, NULL, argv[2], FALSE, FALSE);
|
||||
Status = HiiBin (argv[4], argv[2], &argv[5], NumOfFiles);
|
||||
if (RETURN_ERROR (Status)) {
|
||||
raise ();
|
||||
return -1;
|
||||
}
|
||||
} else if (strcmp (argv[1], "GetAcpi") == 0) {
|
||||
if (argc < 4) {
|
||||
if (argc != 5 || strcmp (argv[2], "-o") != 0) {
|
||||
fprintf (stderr, "ImageTool: Command arguments are missing\n");
|
||||
fprintf (stderr, " Usage: ImageTool GetAcpi InputFile OutputFile\n");
|
||||
fprintf (stderr, " Usage: ImageTool GetAcpi -o OutputFile InputFile\n");
|
||||
raise ();
|
||||
return -1;
|
||||
}
|
||||
|
||||
Status = GetAcpi (argv[2], argv[3]);
|
||||
Status = GetAcpi (argv[4], argv[3]);
|
||||
if (RETURN_ERROR (Status)) {
|
||||
raise ();
|
||||
return -1;
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit d185827c701dace24f32f7042ab05a9b0d50d6ec
|
||||
Subproject commit f78f7410426cd18c1845cd7c5612e34a1efe7eae
|
Loading…
x
Reference in New Issue
Block a user