-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
17 changed files
with
2,249 additions
and
670 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
#Carpetas del proyecto | ||
|
||
SOURCE_FOLDER=source | ||
BUILD_FOLDER=build | ||
TEMPORAL_FOLDER=tmp | ||
INSTALL_FOLDER=/usr/bin | ||
MAN=man/en | ||
MAN_PAGES=/usr/share/man/man1 | ||
MAN_ES=man/es | ||
MAN_PAGES_ES=/usr/share/man/es/man1 | ||
|
||
################################# | ||
#Opciones de compilacón | ||
################################# | ||
#Optimizacion: -O0 baja, -O1 normal, -O2 optimizado, -O3 alta | ||
#Muestra todos los Warnings | ||
#Compila en el Standard C99 | ||
CFLAGS=-O3 -Wall -std=c99 | ||
|
||
#Descomentar para debug | ||
#DEBUG=-g | ||
|
||
################################## | ||
#Reglas | ||
|
||
.PHONY: all clean folders install uninstall reinstall | ||
all: folders c.o $(TEMPORAL_FOLDER) $(BUILD_FOLDER) | ||
gcc $(TEMPORAL_FOLDER)/** -o $(BUILD_FOLDER)/emp $(CFLAGS) $(DEBUG) | ||
|
||
c.o: | ||
gcc -c $(SOURCE_FOLDER)/main.c -o $(TEMPORAL_FOLDER)/main.o $(CFLAGS) $(DEBUG) | ||
gcc -c $(SOURCE_FOLDER)/headers.c -o $(TEMPORAL_FOLDER)/headers.o $(CFLAGS) $(DEBUG) | ||
gcc -c $(SOURCE_FOLDER)/oper.c -o $(TEMPORAL_FOLDER)/oper.o $(CFLAGS) $(DEBUG) | ||
gcc -c $(SOURCE_FOLDER)/args.c -o $(TEMPORAL_FOLDER)/args.o $(CFLAGS) $(DEBUG) | ||
gcc -c $(SOURCE_FOLDER)/error.c -o $(TEMPORAL_FOLDER)/error.o $(CFLAGS) $(DEBUG) | ||
|
||
clean: | ||
rm -r $(TEMPORAL_FOLDER) $(BUILD_FOLDER) | ||
|
||
folders: | ||
-mkdir $(TEMPORAL_FOLDER) $(BUILD_FOLDER) | ||
|
||
bytes: | ||
@echo Bytes por archivo: | ||
@wc -c $(SOURCE_FOLDER)/** makefile | ||
|
||
char: | ||
@echo Caracteres por archivo: | ||
@wc -m $(SOURCE_FOLDER)/** makefile | ||
|
||
lines: | ||
@echo Lineas de codigo por archivo: | ||
@wc -l $(SOURCE_FOLDER)/** makefile | ||
|
||
install: $(BUILD_FOLDER)/emp | ||
cp -p $(BUILD_FOLDER)/emp $(INSTALL_FOLDER) | ||
cp -p $(MAN)/emp.1.gz $(MAN_PAGES) | ||
cp -p $(MAN_ES)/emp.1.gz $(MAN_PAGES_ES) | ||
|
||
uninstall: $(INSTALL_FOLDER)/emp | ||
rm $(INSTALL_FOLDER)/emp | ||
rm $(MAN_PAGES)/emp.1.gz | ||
rm $(MAN_PAGES_ES)/emp.1.gz | ||
|
||
reinstall: uninstall install |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
.TH EMP 1 "Julio 5 2016" "Lucas Di Cunzolo" | ||
.SH NAME | ||
EMP \- A file packager | ||
.SH SYNOPSIS | ||
.B emp | ||
.BR [-] | ||
.BR <option> | ||
.BR <ARCHIVE_NAME> | ||
.BR <i/o> | ||
.BR <ARCHIVE_NAME/DIR> | ||
.PP | ||
.SH DESCRIPTION | ||
Emp stores and extracts files from a tape or disk archive in EMP format. | ||
.PP | ||
.SH OPTION LETTERS | ||
.TP | ||
.B -p / --pack | ||
Pack | ||
.TP | ||
.B -r / --repack | ||
Repack | ||
.TP | ||
.B -u / --unpack | ||
Unpack | ||
.TP | ||
.B -a / --unpack-all | ||
Unpack all | ||
.TP | ||
.B -d / --detail | ||
Detail | ||
.TP | ||
.B -l / --list | ||
List | ||
.PP | ||
.SH I/O | ||
.TP | ||
.B -i / --input | ||
Input archives | ||
.TP | ||
.B -o / --output | ||
Output archives | ||
.TP | ||
.B --outputdir | ||
Output dirección | ||
.PP | ||
.SH DIAGNOSTICS | ||
EMP returns the following exit codes: | ||
.RS | ||
.IP 0 | ||
Normal (no errors or warnings detected). | ||
.IP 1 | ||
Some files cannot be open during the execution. | ||
.IP 2 | ||
Some files cannot be read during the process. | ||
.IP 3 | ||
Some files cannot be write during the process. | ||
.IP 4 | ||
Some files cannot be create. | ||
.IP 5 | ||
The cursor in the file cannot be set. | ||
.IP 6 | ||
An error with the quantity of files ingresed. | ||
.IP 7 | ||
Can't find the file/s searched. | ||
.IP 8 | ||
An error with the input. | ||
.IP 9 | ||
An error with the output. | ||
.IP 10 | ||
An error with the quantity of options ingresed. | ||
.IP 11 | ||
An error during the unpack of files. | ||
.IP 12 | ||
A wrong option. | ||
.IP 13 | ||
An error opening a directory. | ||
.IP 14 | ||
An error with the format of the file of input. | ||
.IP 15 | ||
An error with the name of the file of output. | ||
.SH LIMITATIONS | ||
The version 0 cannot pack directories. | ||
.TP | ||
The version 1 include the packing of directories. | ||
.TP | ||
Only can be selected 9 times the option of no-change the name to a file aready exist. After that, the program ends. | ||
.SH EXAMPLE WITH SHORT OPTIONS | ||
.TP | ||
.B emp -p file1 file2 -o package.emp | ||
adds file1 and file2 from current directory to archive package.emp | ||
.TP | ||
.B emp -u file1 -i package.emp [--outputdir /dir] | ||
unpack file1 from package.emp to the directory dir, if outputdir was not specified, the default directory is the current directory | ||
.TP | ||
.B emp -r file3 -o package.emp | ||
add file3 to package.emp | ||
.TP | ||
.B emp -a -i package.emp [--outputdir /dir] | ||
unpack all the files from package.emp to directory dir, if outputdir was not specified, the default directory is the current directory | ||
.TP | ||
.B emp -d file1 -i package.emp | ||
show the details of file1 belonging to package.emp | ||
.TP | ||
.B emp -l [name|date|size] -i package.emp | ||
list the files belonging to package.emp by name, date or size | ||
.SH EXAMPLE WITH LONG OPTIONS | ||
.TP | ||
.B emp --package file1 file2 --output package.emp | ||
adds file1 and file2 from current directory to archive package.emp | ||
.TP | ||
.B emp --unpack file1 --input package.emp [--outputdir /dir] | ||
unpack file1 from package.emp to the directory dir, if outputdir was not specified, the default directory is the current directory | ||
.TP | ||
.B emp --repack file3 --output package.emp | ||
repack file3 to package.emp | ||
.TP | ||
.B emp --unpack-all --input package.emp [--outputdir /dir] | ||
unpack all the files from package.emp to directory dir, if outputdir was not specified, the default directory is the current directory | ||
.TP | ||
.B emp --detail file1 --input package.emp | ||
show the details of file1 belonging to package.emp | ||
.TP | ||
.B emp --list [name|date|size] --input package.emp | ||
list the files belonging to package.emp by name, date or size | ||
.SH AUTHOR | ||
.TP | ||
Written for Lenguaje Seminary C by Lucas Di Cunzolo |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
.TH EMP 1 "Julio 5 2016" "Lucas Di Cunzolo" | ||
.SH NOMBRE | ||
EMP \- Empaquetador | ||
.SH SINOPSIS | ||
.B emp | ||
.BR [-] | ||
.BR <opcion> | ||
.BR <ARCHIVO> | ||
.BR <i/o> | ||
.BR <ARCHIVO/DIR> | ||
.PP | ||
.SH DESCRIPCION | ||
Emp almacena y extrae archivos de un archivo almacenado en disco con formato EMP. | ||
.PP | ||
.SH OPCIONES | ||
.TP | ||
.B -p / --pack | ||
Empaqueta | ||
.TP | ||
.B -r / --repack | ||
Rempaqueta | ||
.TP | ||
.B -u / --unpack | ||
Desempaqueta | ||
.TP | ||
.B -a / --unpack-all | ||
Desempaqueta todo | ||
.TP | ||
.B -d / --detail | ||
Detalles | ||
.TP | ||
.B -l / --list | ||
Listar | ||
.PP | ||
.SH I/O | ||
.TP | ||
.B -i / --input | ||
Archivos de entrada | ||
.TP | ||
.B -o / --output | ||
Archivos de salida | ||
.TP | ||
.B --outputdir | ||
Dirección de salida | ||
.PP | ||
.SH DIAGNOSTICOS | ||
EMP retorna los siguientes codigos de salida: | ||
.RS | ||
.IP 0 | ||
Normal (sin errores ni warnings detectados). | ||
.IP 1 | ||
Algun archivo no pudo ser abierto durante la ejecución. | ||
.IP 2 | ||
No se pudo leer algun archivo durante el proceso. | ||
.IP 3 | ||
No se pudo escribir algun archivo durante el proceso. | ||
.IP 4 | ||
No se pudo crear algun archivo. | ||
.IP 5 | ||
No se pudo setear el cursor en el archivo. | ||
.IP 6 | ||
Error con la cantidad de archivos ingresados. | ||
.IP 7 | ||
No se pudo encontrar el/los archivo/s buscado/s. | ||
.IP 8 | ||
Error con la entrada. | ||
.IP 9 | ||
Error con la salida. | ||
.IP 10 | ||
Error con la cantidad de opciones ingresada. | ||
.IP 11 | ||
Error durante el proceso de desempaquetamiento de archivos. | ||
.IP 12 | ||
Opción incorrecta. | ||
.IP 13 | ||
Error al arbir un directorio. | ||
.IP 14 | ||
Error con el formato del archivo de entrada. | ||
.IP 15 | ||
Error con el nombre del archivo de salida. | ||
.SH LIMITACIONES | ||
La versión 0 no puede empaquetar directorios. | ||
.TP | ||
La versión 1 incluye el empaquetador de directorios. | ||
.TP | ||
Solo puede seleccionarse 9 veces el no cambiar el nombre a un archivo que ya existe, pasado ese numero tira error. | ||
.SH EJEMPLOS CON OPCIONES CORTAS | ||
.TP | ||
.B emp -p file1 file2 -o package.emp | ||
empaqueta file1 t file2 desde el directorio actual al archivo package.emp | ||
.TP | ||
.B emp -u file1 -i package.emp [--outputdir /dir] | ||
desempaqueta file1 desde package.emp al directorio dir, si no se especifico un directorio, el directorio predeterminado es el actual. | ||
.TP | ||
.B emp -r file3 -o package.emp | ||
agrega file3 a package.emp (emp ya contiene archivos) | ||
.TP | ||
.B emp -a -i package.emp [--outputdir /dir] | ||
desempaqueta todos los archivos desde package.emp al directorio dir, si no se especifico un directorio, el directorio predeterminado es el actual. | ||
.TP | ||
.B emp -d file1 -i package.emp | ||
muestra los detalles de file1 proveniente de package.emp | ||
.TP | ||
.B emp -l [name|date|size] -i package.emp | ||
lista los archivos provenientes de package.emp por nombre, fecha de ultima modificacion o tamaño (se debe especificar una sola) | ||
.SH EJEMPLOS CON OPCIONES LARGAS | ||
.TP | ||
.B emp --package file1 file2 --output package.emp | ||
empaqueta file1 t file2 desde el directorio actual al archivo package.emp | ||
.TP | ||
.B emp --unpack file1 --input package.emp [--outputdir /dir] | ||
desempaqueta file1 desde package.emp al directorio dir, si no se especifico un directorio, el directorio predeterminado es el actual. | ||
.TP | ||
.B emp --repack file3 --output package.emp | ||
agrega file3 a package.emp (package.emp ya contiene archivos) | ||
.TP | ||
.B emp --unpack-all --input package.emp [--outputdir /dir] | ||
desempaqueta todos los archivos desde package.emp al directorio dir, si no se especifico un directorio, el directorio predeterminado es el actual. | ||
.TP | ||
.B emp --detail file1 --input package.emp | ||
muestra los detalles de file1 proveniente de package.emp | ||
.TP | ||
.B emp --list [name|date|size] --input package.emp | ||
lista los archivos provenientes de package.emp por nombre, fecha de ultima modificacion o tamaño (se debe especificar una sola) | ||
.SH AUTOR | ||
.TP | ||
Escrito para Seminario de Lenguajes C por Lucas Di Cunzolo |
Binary file not shown.
Oops, something went wrong.