makefile

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
d3v1lx
Prode Principiante
Messaggi: 155
Iscrizione: mercoledì 15 luglio 2009, 11:11

makefile

Messaggio da d3v1lx »

Ciao a tutti, dovrei realizzare una serie di makefile ognuno con uno scopo diverso e che utilizzano dei target per distinguersi.
Ad esempio make da solo mi stampa una descrizione del progetto e la lista dei vari target (ad esempio "make bin: fa ........"), ho provato a guardare in rete, ma una guida su come si realizza un makefile con target non l'ho trovata, mi potete dare una dritta su come si realizza, o mi postate un link dove posso trovare una guida per fare quello che devo e mi arrangio anche da solo.

Grazie a tutti
1001001
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1506
Iscrizione: mercoledì 22 dicembre 2010, 18:09
Desktop: Unity
Distribuzione: Ubuntu 14.04.1 LTS 64bit
Località: Verona

Re: makefile

Messaggio da 1001001 »

Ciao! Scusa, non ho capito bene un paio di cose:
d3v1lx ha scritto:[...]dovrei realizzare una serie di makefile ognuno con uno scopo diverso e che utilizzano dei target per distinguersi.
Ad esempio make da solo mi stampa una descrizione del progetto e la lista dei vari target (ad esempio "make bin: fa ........")[...]
devi fare un makefile solo o più di uno? Te lo chiedo perché non sono sicuro di cosa tu intenda per target, visto che:
d3v1lx ha scritto:[...]ho provato a guardare in rete, ma una guida su come si realizza un makefile con target non l'ho trovata[...]
Un makefile senza target non è un makefile, quindi mi chiedo: cosa intendi per target?
"I find your lack of faith disturbing."
d3v1lx
Prode Principiante
Messaggi: 155
Iscrizione: mercoledì 15 luglio 2009, 11:11

Re: makefile

Messaggio da d3v1lx »

Ciao, intanto grazie per aver risposto, alla fine quel problema l'ho risolto, ho trovato una buona guida che mi spiegava come creare un makefile e come configurarlo.
Colgo l'occasione per chiedere un'altra cosa, il makefile che ho realizzato mi compila un file scritto in c e poi me lo sposta dentro una cartella, poi, sempre da dentro il makefile, provo a spostarmi dentro la suddetta cartella per eseguire il programma, ma non riseco, mi viene restituito questo errore: "make: ./try: command not found, make: *** [test] Error 127".
Riporto anche il codice cosi' come l'ho scritto nel makefile, magari si capisce meglio cosa cerco di fare:

Codice: Seleziona tutto

test: 
    @mkdir test
    @gcc try.c -o try
    @mv try test/
    @cd test
    @./try
Da quel che mi sembra di aver capito in pratica non accede alla cartella test, ma perche'? c'e' un modo per risolvere senza che io compili fuori e poi sposti tutto dentro la cartella?
Grazie
1001001
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1506
Iscrizione: mercoledì 22 dicembre 2010, 18:09
Desktop: Unity
Distribuzione: Ubuntu 14.04.1 LTS 64bit
Località: Verona

Re: makefile

Messaggio da 1001001 »

Il problema è che make esegue ogni comando in una subshell diversa, quindi la directory viene cambiata solo nella subshell della riga che contiene il comando cd. Vedi http://stackoverflow.com/questions/1998 ... f-makefile per alcune possibili soluzioni
"I find your lack of faith disturbing."
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti