Add in the 1st version of ECP.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2832 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
94
EdkCompatibilityPkg/Sample/Tools/Source/SplitFile/Makefile
Normal file
94
EdkCompatibilityPkg/Sample/Tools/Source/SplitFile/Makefile
Normal file
@@ -0,0 +1,94 @@
|
||||
#/*++
|
||||
#
|
||||
# Copyright (c) 2006 - 2007, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
# which accompanies this distribution. The full text of the license may be found at
|
||||
# http://opensource.org/licenses/bsd-license.php
|
||||
#
|
||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#
|
||||
# Module Name:
|
||||
#
|
||||
# Makefile
|
||||
#
|
||||
# Abstract:
|
||||
#
|
||||
# makefile for building the SplitFile utility.
|
||||
#
|
||||
#--*/
|
||||
|
||||
#
|
||||
# Make sure environmental variable EDK_SOURCE is set
|
||||
#
|
||||
!IFNDEF EDK_SOURCE
|
||||
!ERROR EDK_SOURCE environmental variable not set
|
||||
!ENDIF
|
||||
|
||||
#
|
||||
# Do this if you want to compile from this directory
|
||||
#
|
||||
!IFNDEF TOOLCHAIN
|
||||
TOOLCHAIN = TOOLCHAIN_MSVC
|
||||
!ENDIF
|
||||
|
||||
!INCLUDE $(BUILD_DIR)\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 = $(EDK_TOOLS_SOURCE)\$(TARGET_NAME)
|
||||
|
||||
TARGET_EXE = $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).exe
|
||||
|
||||
TARGET_EXE_SOURCE = "$(TARGET_SOURCE_DIR)\SplitFile.c"
|
||||
TARGET_EXE_INCLUDE =
|
||||
|
||||
#
|
||||
# Build targets
|
||||
#
|
||||
|
||||
all: $(TARGET_EXE)
|
||||
|
||||
#
|
||||
# Build EXE
|
||||
#
|
||||
|
||||
$(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj: $(TARGET_EXE_SOURCE) $(TARGET_EXE_INCLUDE)
|
||||
$(CC) $(C_FLAGS) $(INC) $(TARGET_EXE_SOURCE) /Fo$(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj
|
||||
|
||||
#
|
||||
# Add Binary Build description for this tool.
|
||||
#
|
||||
|
||||
!IF (("$(EFI_BINARY_TOOLS)" == "YES") && EXIST($(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe))
|
||||
$(TARGET_EXE): $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe
|
||||
copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).exe $(TARGET_EXE) /Y
|
||||
if exist $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb \
|
||||
copy $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb /Y
|
||||
!ELSE
|
||||
$(TARGET_EXE): $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj
|
||||
$(LINK) $(MSVS_LINK_LIBPATHS) $(L_FLAGS) /out:$(TARGET_EXE) $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).obj
|
||||
if not exist $(EFI_PLATFORM_BIN)\Tools mkdir $(EFI_PLATFORM_BIN)\Tools
|
||||
if exist $(TARGET_EXE) copy $(TARGET_EXE) $(EFI_PLATFORM_BIN)\tools\$(TARGET_NAME).exe /Y
|
||||
if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb \
|
||||
copy $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).pdb $(EFI_PLATFORM_BIN)\Tools\$(TARGET_NAME).pdb /Y
|
||||
!ENDIF
|
||||
|
||||
clean:
|
||||
@if exist $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).* del $(EDK_TOOLS_OUTPUT)\$(TARGET_NAME).* > NUL
|
136
EdkCompatibilityPkg/Sample/Tools/Source/SplitFile/splitfile.c
Normal file
136
EdkCompatibilityPkg/Sample/Tools/Source/SplitFile/splitfile.c
Normal file
@@ -0,0 +1,136 @@
|
||||
/*++
|
||||
|
||||
Copyright 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
splitfile.c
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
#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
|
||||
argv - 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;
|
||||
}
|
Reference in New Issue
Block a user