Este es el comando makepp_release_notes que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
makepp_release_notes: cambios importantes en cada versión de makepp
DESCRIPCIÓN
Versión 2.1 (Bajo desarrollo)
· Reescritura de la documentación en mini-lenguaje incorporada y de plantilla. Ahora tiene un
"@incluir(Nombre del archivo)@" macro.
· C Scanner ahora tiene en cuenta las variables de ruta específicas del compilador como
"C_INCLUDE_PATH" o "LIB".
· Parens ahora anida como en GNU make o Shell: "$ (nombre ... () ...)"
· Nueva variable de entorno "MAKEPP_DEBUG".
· Los valores predeterminados de instalación para html-doc y man han cambiado ligeramente.
· La nueva opción "--loop" es la sucesora de "--stop-after-loading", que mejora
para tener la ventaja de cada ciclo de compilación de edición en un bucle sin fin.
· Las declaraciones "incluir" y las funciones "buscar-primero-hacia arriba" y "buscar-hacia arriba"
ya no buscará más alto que un Archivo RootMakepp, si hay alguno presente.
· El estilo gmake de poner la regla para crear un archivo de inclusión después de incluir
no se recomienda la declaración, pero ahora es compatible. Por lo tanto, la opción "- diferir-incluir"
ha sido removido.
· Todas las funciones anteriores a 2.0 que emitieron advertencias obsoletas se eliminan, al igual que
$ Mpp :: Makefile :: legacy_functions y $ MAKEPP_INSTALL_OLD_MODULES.
· Puedes usar la nueva opción makeppinfo, mppi "--unremejected" para detectar que ya no es necesario
archivos.
· Puedes usar la nueva opción makeppreplay, mppr "--sed" para reproducir un comando de manera diferente,
por ejemplo, para detener después del preprocesamiento o para agregar opciones de depuración al enlazador.
· Había una característica indocumentada (y con algunos errores) por la cual hacer .makepp / log
no escribible suprimiría la tala. Ahora, en cambio, vuelve a "--verbose", por lo que
debe pasar "--no-log" si lo desea. Esta opción y algunas otras también estaban
disponible para makeppreplay, mppr, pero no documentado.
· Se requiere al menos Perl 5.8.
Versión 2.0 (Marzo 2012).
Los artículos se ordenan de forma aproximada por edad, por lo que solo debe leer las primeras partes
si ha estado usando instantáneas posteriores a la 1.40.
· La declaración de firma ya no anula el método encontrado por los analizadores de comandos, ahora
debe proporcionar la palabra clave "anular" si lo desea. Hay nueva firma
métodos "xml" y "xml-space". La firma "c_compilation_md5" ahora también se puede
se invoca como "C" (porque las firmas pertenecen a archivos, no a acciones). Es (y su
subclases) ahora se puede extender fácilmente a otros sufijos como en "C.ipp, tpp" que significa
que además de los sufijos incorporados, también se aplicará a los archivos que terminan en .ipp or .tpp.
Gracias a este makeppreplay y SQL / C incrustado ahora funciona de manera más confiable. Ten cuidado: este vídeo
is No entendido by mayor versiones. So don't llamar al an mayor mpp on cosas built con
este vídeo versión, lo cual incluye Desde a repositorio que tú built en.
· La palabra clave "global" puede preceder a "build_cache", "build_check" y "firma"
declaraciones y la declaración "definir" que ahora también permite "exportar". Por lo tanto s_
los subs ahora obtienen un cuarto parámetro, una referencia hash con las palabras clave encontradas como claves.
· Los Makefiles ahora se analizan con la misma prioridad que en gmake. Por lo tanto, "incluir:" o
"include =" ahora son declaraciones (sin espacio: todavía regla o asignación). Esto significa que
"perl {calificado :: nombre}" ya no desaparece misteriosamente (solía ser un inútil
regla.) Ahora los nombres de las variables pueden contener espacios en blanco. Esto significa que "& preprocess
--assignment "tratará casi cualquier signo igual como una asignación (reemplácelos con
$ E de la divertida tarea "E ==".)
· Si tiene una caché de compilación federada en varios discos, y algunos de ellos son
preferido, debe editar su build_cache_options.pl y cambiar PREFERRED a
xPREFERIDO. (Esto refleja un cambio general en los nombres donde ahora prefijamos por 'x' todos
x ATRIBUTOS que son verdaderos si existen).
· La variable "VPATH" y la declaración "vpath" ahora se emulan.
· Las funciones Makefile ("sub f _...") ahora pueden obtener su primer parámetro como una cadena
referencia. En ese caso, usted es responsable de ampliar sus argumentos. Utilizar el
funciones de acceso & arg o "args" descritas en extensiones makepp. Hasta que te muevas
para actualizar sus funciones, puede desactivarlo configurando
"$ Mpp :: Makefile :: legacy_functions = 1" en su archivo MAKE (uno por sistema de compilación
es suficiente, ya que es una variable de Perl) o parchearlo en su nueva instalación de makepp. Si
desea que sus funciones actualizadas funcionen tanto con su vieja como con esta nueva makepp, use
"ref $ _ [0]? & arg: $ _ [0]" o "ref $ _ [0]? args (...): $ _ [0]" en la fase de transición.
Dentro de "$ (llamada)", las variables especiales "$ 0, $ 1, ..., $ (11), ..." ahora se expanden
como cualquier otra variable make. Esto provoca ligeras diferencias con el trabajo anterior.
alrededor. El resultado se acerca más a gmake, al menos si "makepp_simple_concatenation = 1" es
conjunto.
· Los archivos MAKE generados por CMake ya no conducen a una recursividad profunda.
· Nuevo escáner "esql_compilation" para SQL C incrustado, ahora cubre todas las bases de datos. Debes
Sin embargo, proporcione las reglas.
· Nueva opción --hybrid-recursive-make (siga el enlace de cada opción para ver formularios más cortos) como
una alternativa más inteligente a --traditional-recursive-make.
Nueva opción --stop-after-loading le da a makepp una ventaja mientras aún estás editando.
Nuevas opciones --rm-stale, --sandbox y --dont-read, para el control de la zona de pruebas cuando se ejecuta
múltiples comandos makepp concurrentes (posiblemente distribuidos).
Makepp ahora también buscará opciones en archivos llamados .makepprc. La opción
--args-file ahora está constantemente disponible en todos los comandos.
La variable de entorno MAKEPP_CASE_SENSITIVE_FILENAMES reemplaza las opciones
- nombres de archivos sensibles a mayúsculas y minúsculas y --no nombres de archivos sensibles a mayúsculas y minúsculas.
Se eliminó la opción "--keep-repository-links", cuyo comportamiento ahora es el predeterminado.
Todas las utilidades ahora también consultan una variable de entorno para preestablecer opciones. Cada uno
se llama como la utilidad en mayúsculas, con FLAGS agregadas, por ejemplo, $ MAKEPPCLEANFLAGS o
$ MAKEPPLOGFLAGS.
Las opciones de línea de comando cortas ahora se pueden agrupar en la forma Unix, por lo que "-k -j 4" puede ser
dado como "-kj4". En todas las opciones largas, el guión entre palabras ahora puede ser consistentemente
omitido o reemplazado con un guión bajo, de modo que "--no-log" puede ser "--nolog" o
"--no_log". Las opciones desconocidas ahora provocan un error.
· Originalmente "makeppclean" "-l" significaba "--leave-src-info", pero ahora las opciones han sido
extendido y este cambió a "-k | --keep-src-info".
· Se ha limpiado la terminología de escaneo (y se ha reescrito la página) para que finalmente coincida con un
rediseño que sucedió hace unos años. Ahora hay 3 términos separados, el lexer
(de los que los usuarios no necesitan preocuparse), los analizadores de (comando) y el (archivo)
escáneres.
Para usuarios avanzados: la nueva interfaz consta de "register_parser" o
declaraciones "register_command_parser", la opción de regla ": parser" y el analizador "p_ *"
funciones de fábrica que obtienen un alias a su clase de analizador como "fábrica". El mal nombrado
declaración "register_scanner", opción de regla ": scanner" y ": scanner_ *" o ": parser_ *"
las funciones están en desuso.
· Nueva variable MAKEPP_VERSION.
· Todas las clases internas se han movido al nuevo paquete "Mpp ::" para cumplir con CPAN
reglas, y para evitar una posible colisión con cualquier módulo que pueda cargar en su
makefiles. Esto es transparente para los usuarios ocasionales de makepp.
En caso de que haya programado en Perl para sus archivos MAKE y haya utilizado algunos
internos esto rompería su construcción. Por lo tanto, hay un retroceso temporal
función de compatibilidad, que se eliminará en el futuro, que puede activar durante
instalación. Se comprueba la nueva variable de entorno $ MAKEPP_INSTALL_OLD_MODULES
una lista de módulos antiguos que desea crear como envoltorios alrededor de los nuevos. Adicionalmente
si tiene archivos MAKE, no puede cambiarlos rápidamente, que dependen de que estas cosas sean
disponible sin una declaración de "uso", debe anteponer esos módulos con un "+", para obtener
ellos precargados:
MAKEPP_INSTALL_OLD_MODULES = '+ Regla global + MakeEvent'
· Nueva utilidad makeppreplay, mppr para repetir algunas de las acciones de makepp muy rápido. Nuevo
makepplog, utilidad mppl para ver los datos de registro de forma legible, necesaria debido a un archivo modificado
formato. La nueva utilidad makeppgraph, mppg para analizar gráficamente dependencias, incluye
y parcialmente las razones para una reconstrucción. Nueva utilidad makeppinfo, mppi para ver algo
crípticamente lo que makepp sabe acerca de algún archivo.
· Portado a IBM z / OS Unix System Services. Solo la marca recursiva inteligente no funciona.
· Makepp se ha vuelto notablemente más rápido.
· Abolir el elegante cambio de nombre indocumentado de solo '.' a '_dot_' en variable y
nombres de funciones.
· Nueva variable $ / para separador de directorios portátil. Muchas correcciones de Windows, incluidas
"-j" (compilaciones paralelas) para Cygwin y MinGW y compilaciones recursivas inteligentes en Cygwin.
· También instale abreviaturas que consisten en 'mpp' más la primera letra de cada
palabra siguiente, por ejemplo, 'mppc' para makeppclean.
· Nuevo ': build_check only_action' para comandos que no dependen del contenido de su
dependencias, como la creación de enlaces simbólicos, donde se utiliza automáticamente.
· Se eliminaron "--norc-substitution" y "--percent-subdirs" y "$ (rc_substitution)" y
"percent_subdirs". Ahora se deben dar en cualquier lugar desde la asignación específica de destino.
a la línea de comando o entorno vars "makepp_simple_concatenation" y
"makepp_percent_subdirs".
· Nueva sintaxis de acción "& perl_function 'arg 1' arg2 ..." y "& external-perl-script 'arg 1'
arg2 ... "Nueva función de Perl" ejecutar ".
Existen los siguientes comandos integrados: & chmod, & cp, & cut, & echo, & expr, & grep,
& install, & ln, & mkdir, & mv, & perl, & preprocess, & printf, & rm, & sed, & sort, & template,
& touch, & uninstall, & uniq y & yes, que pueden reemplazar los comandos Unix del mismo nombre,
y más o menos también los siguientes: "awk", "chgrp", "chown", "head", "m4", "rmdir",
"cola" y "tr". También están disponibles de forma independiente desde Shell. Ellos tambien pueden
utilizarse como funciones, por ejemplo, "$ (& archivo cat)", o como declaraciones, o de forma independiente.
Tenga en cuenta que, a diferencia de las versiones anteriores de CVS, "& cut -f", "& grep -v" y "& sort -r" ahora
comportarse como en Unix. Tenga en cuenta que en versiones anteriores de CVS de & template "@@" se procesaba
antes de "@", pero ahora las líneas se manejan consistentemente de adelante hacia atrás.
· Se agregó una declaración "global" para compartir variables entre archivos MAKE. La asignación
La variante de "exportar" ahora funciona como una asignación normal, por lo que es posible que deba cambiar a
": =". Se agregó el modificador "anular" a las asignaciones. La declaración "define var: ="
ahora opcionalmente permite especificar el tipo de asignación. Y las formas con inmediata
La evaluación conserva las nuevas líneas en "$ (shell ...)" o "$ (& command)". Hay nuevos
operadores de asignación "& =" para anteponer, y "; =" que es un "=" cuando se establece, pero
se convierte automáticamente en ": =" cuando se usa por primera vez.
· Ahora también se encuentra un archivo MAKE si se llama "Makeppfile.mk".
· Hay dos nuevos nombres de archivo posibles para los archivos MAKE: "RootMakeppfile" o equivalente
"RootMakeppfile.mk". La presencia de cualquiera de estos le da a su árbol de construcción un aspecto formal.
root, accesible a través de la nueva variable "$ (ROOT)". La ventaja es que este archivo
siempre se carga primero, si está presente, lo que le permite crear más fácilmente un sistema de compilación
donde se puede llamar a makepp desde cualquier lugar, sin decirle qué makefile comenzar
a.
La raíz del sistema de archivos se marca automáticamente para "--dont-build", de modo que
makepp no se mete en otros directorios de los que incluye o usa libs, solo
porque tienen un Makefile o fuentes.
Por lo general, esto significa que la raíz de su sistema de compilación se marca como "--do-build".
Sin embargo, si dice "--do-build" para algo en la raíz del sistema de compilación, que
no hereda "--dont-build", entonces la raíz del sistema de compilación se marca para
"--no-construir".
· Se eliminó el comando "makeppclient" ya que nunca logramos que las compilaciones comenzaran
significativamente más rápido. La opción "--stop-after-loading" es más beneficiosa.
· Los archivos de definición de interfaz para SWIG (archivos .i) ahora se escanean en busca de inclusiones. Makepp
ahora entiende las invocaciones de tragos. (SWIG son las siglas de Simplified Wrapper and Interface
Generador. Genera automáticamente todas las funciones de contenedor para vincular su C o C ++
código a una variedad de otros lenguajes como Perl, Python, Tcl, Ruby, OCaml, C #, etc.
See http://www.swig.org/.)
· GNU Emacs 22 ahora tiene un makefile-makepp-mode estándar, que es el predeterminado cuando
visitante Archivo Makepp.
· $ [VARIABLE] o $ [función ...] se evalúa al leer una línea de archivo MAKE, por lo que
La variable puede contener sintaxis makepp.
· $ (...) ahora es siempre una lista en sustitución de estilo rc, de modo que "-I $ ($ (DIRLIST))"
no deje ninguna opción solitaria cuando DIRLIST esté vacío.
· Ahora puedes crear funciones de pares dobles y listas de varias líneas, lo que permite cosas como
"$ ((perl si ($ a <5) {...}))".
· Nueva firma "c_compilation_md5", que también permite agregar espacios en blanco donde había
ninguno e inversamente. También ignora los espacios en blanco y los comentarios después del último token.
Esto es útil para evitar una reconstrucción inútil si su VC agrega líneas en un "$" "Log $"
etiqueta al registrarse.
· Implementar $? exactamente como lo hace GNU. Nuevo nombre largo "$ (modified_inputs)" para él.
· Implementar "$ (error ...)" y "$ (advertencia ...)" como en GNU make.
· Nuevo método ": build_check ignore_action" para ignorar los cambios en la cadena de acción.
· Nuevas declaraciones "ifperl", "ifmakeperl", "iftrue", "ifntrue", "ifsys" e "ifnsys".
· Los condicionales "ifxxx" ahora se pueden agrupar con "y" y "o". Cuando está escrito en el mismo
línea después de "else", crean una rama de la misma declaración, en lugar de requerir
anidamiento.
· Se agregó soporte para dependencias en variables de entorno, usando la opción de regla ": env".
· Varias correcciones de manejo de señales.
· Nuevo comando "makeppclean" que elimina de manera eficiente los archivos generados sin cargarlos
hacer archivos
· Portado a MinGW.
· Nuevas cachés de compilación, para almacenar en caché archivos que son idénticos. Esto significa que si cambia un
file y revertir, entonces puede hacer que makepp vuelva al .o inmediatamente anterior
archivo sin reconstruir. O puede compartir compilaciones de archivos idénticos entre diferentes
árboles fuente. Agrupación recientemente agregada de cachés de compilación para configuraciones grandes, posiblemente abarcando
varias maquinas.
· Se requiere al menos Perl 5.6.
Versión 1.40 (Diciembre 2004).
Gracias a Anders Johnson y Daniel Pfeiffer por las importantes contribuciones de código a este
en libertad.
· Demasiadas correcciones de errores para enumerarlas individualmente. Probablemente las soluciones más destacadas sean hacer
Funciona de manera significativamente más confiable en Cygwin, pero también se corrigieron las variables
expansión, escaneo, repositorios, etc.
· Se reescribió la arquitectura del analizador de archivos y del analizador de comandos para que sea más fácil
extensible. Makepp ahora es compatible con Verilog (un lenguaje utilizado para el diseño de chips) además
a C ++ y Fortran. Debería ser relativamente sencillo admitir
idiomas. (Andres Johnson)
· Nuevo comando "makeppclient" que permite que las compilaciones comiencen más rápido. (Daniel Pfeifer)
· Si tiene Perl 5.6.0 o superior, la documentación HTML ahora viene con el nuevo
logotipo de camello y resaltado de sintaxis en los ejemplos. (Daniel Pfeifer)
· Numerosas correcciones y mejoras a la documentación. (Principalmente Anders Johnson)
· Compatibilidad con la declaración "definir" de GNU make para definir valores de variables de varias líneas.
· $ (PWD) y $ (CURDIR) ahora funcionan como en GNU make.
· Nueva opción "--keep-repository-links" para evitar que makepp elimine todo el software
enlaces que crea al hacer repositorios.
· Nuevas opciones "--assume-old", "--assume-new" y "--dont-build", y compatibilidad con
Opción "-n".
· Se ha mejorado ligeramente la compatibilidad con las reglas de dos puntos dobles, por lo que podemos manejar archivos MAKE
producido por MakeMaker sin muchos problemas.
· Se agregó sintaxis para ejecutar código Perl como una declaración y en las reglas "perl {...}" o
"makeperl {...}". Funciones agregadas para evaluar declaraciones de Perl "$ (perl ...)" o
"$ (makeperl ...)". Se agregó la declaración "makesub {...}". (Daniel Pfeifer)
· Las opciones cortas ahora pueden ir seguidas directamente de un argumento como en -j4. Opciones documentadas
--jobs, --keep-going, --makefile, - what-if, --assume-new, --new-file, --assume-old &
--old-file ahora se aceptan realmente. (Daniel Pfeifer)
Versión 1.19 (Julio 2003).
Un agradecimiento especial a Matthew Lovell y Chris van Engelen por muchas sugerencias y
rastrear problemas en el código.
· Se reorganizó la documentación para que se puedan producir páginas de manual y HTML,
y se agregó un libro de cocina / preguntas frecuentes (consulte makepp_cookbook).
· Se agregó un script de "configuración" para que la instalación se parezca más a otros productos de software
desde el punto de vista del usuario.
· La función "$ (origen)" de GNU make ahora es compatible.
· Las variables específicas de destino ahora son compatibles como en GNU make, excepto que no
propagar sus valores a las dependencias.
· Nuevas funciones "$ (find_upwards)" y "$ (relativo_filename)" (aportado por Matthew
Lovell) y "$ (relativo_to)".
· En los comandos de compilación, "-I dir" y "-L dir" ahora son compatibles y funcionan como
"-Idir" y "-Ldir".
· La recompilación de archivos C ahora ocurrirá si se insertó un comentario de varias líneas, o si
la numeración de las líneas cambió de alguna manera. Anteriormente, ignoraba las nuevas líneas en informática.
la suma de comprobación, lo que significaba que un cambio que afectaba la información del depurador podría no forzar un
recopilación.
· Un error en "$ (shell)" que provocó que devolviera una cadena nula ocasionalmente (especialmente
cuando el sistema estaba muy cargado) se solucionó.
· Los archivos o directorios ilegibles suprimen la importación desde repositorios, pero no
emparejado con comodines.
· Se corrigieron algunos otros errores menores.
Versión 1.18 (Enero 2002).
El cambio más importante fue la compatibilidad con el entorno de compilación Cygwin. Ahora puedes correr
makepp con la versión Cygwin de Perl; No creo que funcione correctamente con el
versión nativa de Windows de Perl todavía.
Algunas otras correcciones de errores se incluyeron en esta versión.
Versión 1.10 (Febrero 2001).
El cambio más importante en esta versión es que makepp puede aceptar un número mucho mayor
de archivos MAKE sin ninguna opción de línea de comando debido a algunos cambios en el
implementación de marca recursiva. Hay algunas mejoras menores en GNU make
compatibilidad y una ligera mejora en el uso de la memoria.
Hay varios cambios visibles para el usuario:
· "C_compilation_md5" es ahora el método de firma predeterminado. Esto significa que, de forma predeterminada,
makepp no recompilará los módulos C / C ++ si solo han cambiado los espacios en blanco o los comentarios.
· Se ha agregado un nuevo método de firma "md5", que ejecuta una suma de comprobación MD5 en el archivo
contenido. Esto no está habilitado de forma predeterminada; makepp todavía usa su método original
("exact_match") para cualquier archivo que no sea C / C ++.
Debido a estos cambios, makepp recompilará todo la primera vez que lo ejecutes.
Versión 1.05
Además de las correcciones de errores, esta versión tiene un cambio visible para el usuario. El
Se introdujo la opción de línea de comando "--norc-substitution" para permitir el manejo compatible de
espacios en blanco en archivos MAKE.
Versión 0.99 (Enero 2001).
Además de numerosas correcciones de errores, esta versión tiene varios cambios visibles para el usuario:
· Múltiples objetivos para una regla ahora se tratan de una manera que es más compatible con los antiguos.
makefiles. Makepp tiene un algoritmo heurístico para adivinar si se supone la regla
para construir todos los objetivos a la vez o si la regla debe invocarse varias veces.
No creo que esto rompa ningún archivo MAKE existente, pero debería permitir que makepp
trabajar con muchos más archivos MAKE diseñados para Unix make.
· La opción "--traditional-recursive-make" se puede usar para los archivos MAKE heredados que usan
invocaciones recursivas de make de una manera que no funcionó con el valor predeterminado de makepp
puesta en práctica.
· Los repositorios ahora funcionan con libtool.
· Las configuraciones variables ahora están permitidas con la declaración "load_makefile" y con
marca recursiva.
Versión 0.95
Esta versión tiene varios cambios visibles para el usuario:
· Se ha agregado un tutorial sobre cómo escribir archivos MAKE para Makepp.
· Los condicionales de estilo GNU make (ifeq / ifneq / ifdef / ifndef) ahora son compatibles, al igual que el
Función "$ (si)".
· De forma predeterminada, el comodín "%" ahora solo coincide con archivos dentro de un directorio; "% .c" es ahora
equivalente a "* .c", no a "** / *. c". La razón de este cambio fue que las reglas casi
nunca es necesario utilizar el comodín más complicado, y a menudo causaba innecesarios
directorios que se buscarán. Puede obtener el comportamiento anterior especificando
"--percent-subdirs" en la línea de comando. (Tengo curiosidad por saber cómo se siente la gente acerca de esto
cambio. Por favor, avíseme si tiene buenas razones para que sea unidireccional o el
otro.)
· De forma predeterminada, los archivos MAKE de cualquier directorio que contenga una dependencia, o que sea
buscados mediante un comodín, se cargan automáticamente. Por lo general, esto significa que no necesita
cualquier instrucción "load_makefile" en absoluto. Si esto le causa problemas, puede apagar
carga implícita de archivos MAKE agregando "--no-implicit-load" a la línea de comando.
(Tengo curiosidad por saber si a la gente le gusta o no le gusta la carga implícita de archivos MAKE).
· Un objetivo ahora puede declararse falso en la misma línea que define el objetivo usando
la nueva función "$ (falso)", así:
$ (falso todo): programa_1 programa_2
La función "$ (falso)" simplemente devuelve sus argumentos, pero los marca como falsos
objetivos. Aún puede usar la sintaxis anterior que se ve así:
todos: programa_1 programa_2
.PHONY: todos
La función "$ (falso)" es un intento de mejorar la legibilidad de los archivos MAKE. Identificación
agradezco otras sugerencias, ya que todavía no estoy del todo satisfecho con la sintaxis.
Versión 0.90
Para admitir características como la marca paralela, la mayoría de los componentes internos tenían que ser
reorganizado o reescrito. El resultado es mucho más limpio y, con suerte, más fiable.
Se han corregido errores demasiado numerosos para mencionarlos. Para ayudar a garantizar la confiabilidad, una prueba
ha sido desarrollado suite. Todavía no prueba absolutamente todo, pero prueba
la mayoría de las cosas, y espero hacerlo más extenso en el futuro. Puede ejecutarlo escribiendo
"makepp test" en el directorio de distribución de makepp. Si un makepp no modificado falla el
conjunto de pruebas, avíseme para que pueda solucionarlo.
Hay muchas características nuevas:
· Los repositorios ahora son compatibles.
· Ahora es posible especificar diferentes métodos para calcular y comparar archivos
firmas. Por ejemplo, puede utilizar una suma de comprobación MD5 ignorando los comentarios y
espacios en blanco, o puede requerir simplemente que el destino sea más nuevo que las dependencias
(el método que utiliza la elaboración tradicional).
· Los archivos Makefiles solo se reconstruyen si son más antiguos que sus dependencias; una diferente
El método de firma se utiliza en este caso especial.
· Las compilaciones paralelas ahora son compatibles, aunque esta todavía es una característica experimental. Ver
la opción "-j".
· Ahora es posible escribir sus propias funciones. Consulte la declaración "sub" y
makepp_extending para obtener más detalles.
· Los nombres de archivo con caracteres como dos puntos o espacio ahora son compatibles con una nueva cita
sintaxis.
· Se han introducido nombres sinónimos, menos crípticos para las variables automáticas
Fomentar archivos MAKE más legibles.
· Makepp ahora recuerda la arquitectura de la máquina en la que construyó y reconstruye si el
la arquitectura es diferente.
· Los directorios ahora pueden ser destinos o dependencias; una restricción previa que todos
Los directorios tenían que existir antes de que se levantara el inicio de la compilación.
· Makepp ahora escribe un archivo de registro llamado ".makepp_log" que explica por qué se reconstruyó
todo. Esto es extremadamente útil para depurar.
· La opción "-k" habitual para seguir construyendo incluso cuando se produce un error es ahora
soportado.
· Se ha reorganizado y ampliado la documentación.
También hay (desafortunadamente) algunas incompatibilidades con versiones anteriores:
· El formato de archivo para almacenar información sobre la última compilación ha cambiado. Así makepp
insistirá en reconstruir todo la primera vez que ejecute la nueva versión.
· Load_makefile ya no admite objetivos o configuraciones variables. Ahora es compatible
cargando una lista de archivos MAKE en lugar de solo uno, por lo que el interruptor "-F" ahora está
innecesario (y ya no documentado).
· La marca recursiva ahora ignora la configuración de variables en la línea de comando. Esto es necesario
para cargar archivos MAKE de forma coherente.
· "$ (INFERRED_OBJS)" ya no es compatible (ya que no era una interfaz bien diseñada
de todos modos). En su lugar, utilice la función "$ (infer_objects)" más reciente.
· $ _ Ya no es compatible. Utilice "$ (foreach)" en su lugar.
· Algunas opciones GNU de uso poco frecuente como "-s", "-n" y "-q" ya no están disponibles.
soportado debido a cambios en la arquitectura interna. "-n" probablemente volverá a ser compatible
en futuros lanzamientos.
· Ya no se proporciona una página de manual porque la documentación ya no está escrita en el
Formato de pod de Perl. En su lugar, utilice la documentación HTML.
· El objetivo de limpieza automática ya no es compatible. Una mejor forma de hacerlo es con
"$ (only_targets)".
Utilice makepp_release_notes en línea utilizando los servicios de onworks.net