ho bisogno di un grosso aiuto riguardo make\makefile..
ci sto impazzendo da due giorni pieni ma non riesco a capire..
spero che sia un errore stupido altrimenti sto in alto mare..vi spiego :
da prompt mi creo 2 file.c (main.c e stampa.c) e 1 file.h (stampa.h) in cui ci sono i relativi codici:
__main.c__
#include "stampa.h"
#include
int main()
{
stampa();
system("Pause");
return 1;
}
__stampa.c__
#include
#include "stampa.h"
void stampa()
{
printf("Tutto bene per ora!\n");
printf("Proviamo un po'!\n");
}
__stampa.h__
void stampa();
poi sempre da prompt usando il gcc mi posso creare un eseguibile direttamente dai due file.c facendo :
\dev-cpp\bin\gcc.exe main.c stampa.c -o eseguibile
oppure mi creo prima i due file oggetto, in questo modo:
\dev-cpp\bin\gcc.exe -c main.c(e mi creo main.o)
\dev-cpp\bin\gcc.exe -c stampa.c(e mi creo stampa.o)
e infine creo l'eseguibile mediante linking :
\dev-cpp\bin\gcc.exe main.o stampa.o -o eseguibile(tutti questi file sono sul desktop,in nessuna cartella particolare)
faccio bene fin qui??
Avrei potuto fare anche questo mediante progetto,facendo si che mi venissero creati tutti i file.o automaticamente..
poi entra in gioco il file di testo Makefile ,che lo salvo sul desktop e in cui scrivo:
#Esempio makefile
eseguibile: main.o stampa.o (scrivo eseguibile perché e' il nome del mio file eseguibile,creato in precedenza,vero??)
gcc -o eseguibile main.o stampa.o
main.o: main.c stampa.h
gcc -c main.c
stampa.o: stampa.c
gcc -c stampa.c
clean:
rm eseguibile main.o stampa.o (oppure *.o)
Quindi il testo scritto nel makefile mi dice :
1° target : creami un eseguibile
2° target (clean) : non ho prerequisiti,per cui passo alla linea di comando..quindi elimino i file.o (e' giusto???)
e se ricompilassi di nuovo,i file.o verrebbero ricreati "come per magia" grazie al primo target..
diciamo che per sommi capi questo e' tutto..
ora dal prompt dovrei richiamarmi make, che a me sta in \dev-cpp\bin\make.exe
quindi cosa devo fare??
proprio in termini pigiatura di tasti..
grazie mille