[Pluto-help] gcc
Antonio Cuni
cuni a programmazione.it
Sab 5 Ott 2002 14:03:43 CEST
Il 12:41, venerd́ 4 ottobre 2002, Body ha scritto:
> Salve.
> Dovrei passare al gcc delle opts.Non vorrei passarle globalmente(cioe'
> impostandole come variabili d'ambiente)ma utilizzarle solo x compilare
> 1programma specifico;cambiarle nei makefile e' improponibile,visto che
> stiamo parlando di circa una settantina di questi.Avevo pensato ad un bash
> script che aggiunga le mie custom opts a quelle gia'
> presenti(CFLAGS,CXXFLAGS),ma come fare?Any tips?
farlo in bash e` un inferno, molto meglio usare python per queste cose; il
programma che trovi in fondo alla mail "processa" il file passato dalla riga
di comando cercando righe che iniziano con "CCFLAGS" o "CXXFLAGS" e aggiunge
alla fine di esse le opzioni appropriate (cambia la costante nel sorgente)
Per aggiornare tutti i makefile in automatico potresti usare find:
find ./ -name Makefile -exec ./updateMakefile.py '{}' ';'
ecco il sorgente (ovviamente chmod +x per renderlo eseguibile):
==== updateMakefile.py ===
#!/usr/bin/python
import sys
# metti qua le opzioni nuove. Attento allo spazio iniziale
new_CCFLAGS = " -Wall -O3\n"
new_CXXFLAGS = " -Wall -O3\n"
def update(filename):
try:
lines = open(filename).readlines()
out = open(filename, 'w')
for line in lines:
if line.upper().find('CCFLAGS') == 0:
out.write(line[:-1] + new_CCFLAGS)
elif line.upper().find('CXXFLAGS') == 0:
out.write(line[:-1] + new_CXXFLAGS)
else:
out.write(line)
out.close()
except IOError, msg:
sys.stderr.write(str(msg)+'\n')
if __name__ == "__main__":
if len(sys.argv) != 2:
sys.stderr.write('Numero di argomenti errato\n')
else:
input_file = sys.argv[1]
update(input_file)
ciao Anto
--
"Computer science is not about computers any more than astronomy
is about telescopes." -- EW Dijkstra
More information about the pluto-help
mailing list