Adding Additional Tools that are needed for Platform Image creation.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@198 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lhauch
2006-05-19 02:38:56 +00:00
parent 291a871a27
commit d25c4bf080
42 changed files with 17050 additions and 0 deletions

View File

@ -0,0 +1,70 @@
#/*++
#
# Copyright (c) 2001 Intel Corporation. All rights reserved.
#
# This software and associated documentation (if any) is furnished under
# a license and may only be used or copied in accordance with the terms
# of the license. Except as permitted by such license, no part of this
# software or documentation may be reproduced, stored in a retrieval
# system, or transmitted in any form or by any means without the express
# written consent of Intel Corporation.
#
# Module Name: makefile
#
# Abstract:
#
# This file is used to build the EFI utility.
#
#--*/
#
# Do this if you want to compile from this directory
#
!IFNDEF TOOLCHAIN
TOOLCHAIN = TOOLCHAIN_MSVC
!ENDIF
!INCLUDE PlatformTools.env
#
# Define some macros we use here. Should get rid of them someday and
# get rid of the extra level of indirection.
#
COMMON_SOURCE = $(EDK_TOOLS_COMMON)
#
# Common information
#
INC=$(INC)
#
# Target specific information
#
TARGET_NAME=SplitFile
TARGET_SOURCE_DIR = $(TIANO_TOOLS_SOURCE)\$(TARGET_NAME)
TARGET_EXE = $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).exe
TARGET_EXE_SOURCE = "$(TARGET_SOURCE_DIR)\SplitFile.c"
TARGET_EXE_INCLUDE =
#
# Build targets
#
all: $(TARGET_EXE)
#
# Build EXE
#
$(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).obj: $(TARGET_EXE_SOURCE) $(TARGET_EXE_INCLUDE)
$(CC) $(C_FLAGS) $(INC) $(TARGET_EXE_SOURCE) /Fo$(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).obj
$(TARGET_EXE): $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).obj $(TARGET_EXE_LIBS) $(TARGET_DLL)
$(LINK) $(MSVS_LINK_LIBPATHS) $(L_FLAGS) $(LIBS) /out:$(TARGET_EXE) $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).obj $(TARGET_LIB) $(TARGET_EXE_LIBS)
clean:
@if exist $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).* del $(TIANO_TOOLS_OUTPUT)\$(TARGET_NAME).* > NUL

View File

@ -0,0 +1,131 @@
/*
Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved
This software and associated documentation (if any) is furnished
under a license and may only be used or copied in accordance
with the terms of the license. Except as permitted by such
license, no part of this software or documentation may be
reproduced, stored in a retrieval system, or transmitted in any
form or by any means without the express written consent of
Intel Corporation.
*/
// GC_TODO: fix comment to start with /*++
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
void
helpmsg (
void
)
/*++
Routine Description:
GC_TODO: Add function description
Arguments:
Returns:
GC_TODO: add return values
--*/
{
printf (
"SplitFile Filename Offset\n"" Filename = Input file to split\n"" Offset = offset at which to split file\n"
"\n\n""SplitFile will break a file in two pieces at the requested offset\n"
" outputting Filename1 and Filename2\n"
);
}
int
main (
int argc,
char*argv[]
)
/*++
Routine Description:
GC_TODO: Add function description
Arguments:
argc - GC_TODO: add argument description
] - GC_TODO: add argument description
Returns:
GC_TODO: add return values
--*/
{
FILE *In;
FILE *Out1;
FILE *Out2;
char OutName1[512];
char OutName2[512];
unsigned long Index;
unsigned long splitpoint;
char CharC;
if (argc != 3) {
helpmsg ();
return -1;
}
In = fopen (argv[1], "rb");
if (In == NULL) {
printf ("Unable to open file \"%s\"\n", argv[1]);
return -1;
}
strncpy (OutName1, argv[1], 510);
strncpy (OutName2, argv[1], 510);
strcat (OutName1, "1");
strcat (OutName2, "2");
Out1 = fopen (OutName1, "wb");
if (Out1 == NULL) {
printf ("Unable to open file \"%s\"\n", OutName1);
return -1;
}
Out2 = fopen (OutName2, "wb");
if (Out2 == NULL) {
printf ("Unable to open file \"%s\"\n", OutName2);
return -1;
}
splitpoint = atoi (argv[2]);
for (Index = 0; Index < splitpoint; Index++) {
CharC = (char) fgetc (In);
if (feof (In)) {
break;
}
fputc (CharC, Out1);
}
for (;;) {
CharC = (char) fgetc (In);
if (feof (In)) {
break;
}
fputc (CharC, Out2);
}
fclose (In);
fclose (Out1);
fclose (Out2);
return 0;
}