Función para verificar si un archivo existe con GNU Make

Los archivos make de GNU le permiten a su pequeña empresa poner código fuente que puede adaptar su compilación a la máquina de un cliente específico, y detectar preventivamente problemas o dependencias de software no satisfechas. Verificar si existen ciertos archivos es fundamental para la función make de GNU, y puede elegir uno de los varios métodos para hacerlo.

Reglas

Una forma de verificar si un archivo existe dentro de su archivo make de GNU involucra su sistema de reglas incorporado. El código debajo de la sintaxis "target: normal-prerrequisites | order-only-prerequisites" solo se ejecutará si el archivo o los archivos especificados como "target" no son más nuevos que los especificados en "normal-prerequisites" y si los archivos especifique en "requisitos previos de sólo orden" existen. Si utiliza la sintaxis "target: | order-only-prerequisites" y no especifica ningún archivo en el lado izquierdo de "|" símbolo, entonces el código siguiente se ejecutará solo si el archivo o los archivos que especifique como "requisitos previos de sólo pedido" existen.

Función de prueba

El comando "test -f" también puede verificar si un archivo en particular existe. Este comando toma un nombre de archivo como argumento, luego devuelve un valor booleano de "verdadero" si existe la ruta de archivo por la que pasó el comando, y "falso" si no está allí. Puede integrar este comando en las sentencias "if" y otras funciones de control que coloca en el makefile para un control preciso sobre el manejo de cualquiera de los resultados.

Buscando Directorio

El método de las reglas o el comando "test -d" funciona exactamente igual que el comando "test -f", solo que devuelve verdadero si la ruta que proporcionó como argumento es un directorio existente, en lugar de verificar si el argumento es un archivo . Si está verificando la existencia de un directorio en el que su makefile estará compilando o compilando archivos, el comando "mkdir -p directory-name" intentará crear un directorio con el nombre que especificó como "directory-name", a menos que ya existe El argumento "-p" evita que mkdir muestre un mensaje de error que haga que el usuario final piense que algo salió mal. Luego puede emplear el directorio en su código makefile sabiendo que el archivo existe, porque ya estaba allí o porque mkdir lo creó.

Makefile robusto

Los diferentes sistemas cliente almacenan paquetes en los que su software depende de rutas de directorio ligeramente diferentes. Sin embargo, si asume una única ubicación, sus clientes podrían recibir archivos make que les indiquen que necesitan un paquete de software que ya tienen. Puede minimizar este problema investigando los diferentes sistemas utilizados por su base de clientes objetivo, y asegurarse de que su makefile verifique múltiples ubicaciones posibles en busca de paquetes de software dependientes.

Entradas Populares