V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

scons

Alternativa a make en código python que ofrece una serie de funciones mejoradas, como la generación automática de dependencias y la compatibilidad con la caché de compilación integrada. Analiza los includes y deduce qué archivos se deben recompilar cuando cambian, almacena resultados compilados y evita recompilaciones innecesarias entre diferentes proyectos, todo código en Python: construir, analizar, reconfigurar, serializar el estado de construcción, se pueden crear ejecutables, librerías estáticas, compartidas, etc. y se integra bien con normas de empaquetado por ejemplo, para crear Debian packages.

Un ejemplo:

$ mkdir -p pruebas_scons/src
$ cd pruebas_scons/
$ nano SConstruct
# Ruta del código fuente

src_dir = 'src'

# Crear entorno con flags C++17 y advertencias
env = Environment(
CC='g++',

CXX='g++',

CXXFLAGS=['-std=c++17', '-Wall', '-Wextra'],

CPPPATH=[src_dir], # incluir /src

)

# Declaramos que queremos un ejecutable llamado linux
env.Program(target='linux', source=[f'{src_dir}/main.cpp'])
$ nano src/main.cpp`
#include <iostream>
int main() {
std::cout << "¡Linux es un sistema genial!\n";

return 0;

}

$ scons
compilar
$ scons -Q
compila sin imprimir cada comando [modo "quiet"]
$ scons -n
muestra lo que haría [modo dry run]
$ scons -c
limpia los archivos de salida como make clean
$ scons -j4
compilación en paralelo 4 hilos
Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
5098 entradas - Acerca del Tractatus
La Pipa Plena 2026