|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 409
|
[c]:makefile
Ragazzi ma come si fa un makefile?
io ho fatto in questo modo è corretto? Codice:
#!/bin/sh echo compilo prima gli header cc -c sorgenti/gestione_connessione/libnet.c cc -c sorgenti/gestione_connessione/liste.c cc -c sorgenti/gestione_connessione/liste_t.c echo compilo client.c e server.c cc -o server sorgenti/server.c libnet.o liste.o liste_t.o stringhe.o -lpthread cc -o client sorgenti/client.c libnet.o liste.o liste_t.o stringhe.o -lpthread |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Nota solo che non hai indicato come compili stringhe.o. Un possibile makefile è questo: Codice:
COMP=cc
LINK=cc
CFLAGS=
LFLAGS=
LIBS=
$OBJS_SERVER=server.o libnet.o liste.o liste_t.o stringhe.o
$OBJS_CLIENT=client.o libnet.o liste.o liste_t.o stringhe.o
server: $(OBJS_SERVER)
@echo "Linking $@ ..."
@$(LINK) $(LFLAGS) $(LIBS) -o $@ $(OBJS_SERVER)
client: $(OBJS_CLIENT)
@echo "Linking $@ ..."
@$(LINK) $(LFLAGS) $(LIBS) -o $@ $(OBJS_CLIENT)
%.o: %.c
@echo "Compiling $< ..."
@$(COMP) $(CFLAGS) -c -o $@ $<
#-- dipendenze --
libnet.o: sorgenti/gestione_connessione/libnet.c
liste.o: sorgenti/gestione_connessione/liste.c
liste_t.o: sorgenti/gestione_connessione/liste_t.c
server.o: sorgenti/server.c
client.o: sorgenti/client.c
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 409
|
si grazie per l'aiuto, però così non ci ho capito molto
non è che conosci qualche guida da dove poter apprendere come fare un makefile da solo? ma la libreria lpthread non bisogna metterla nel makefile??? ciao, grazie per la pazienza |
|
|
|
|
|
#4 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
Ti faccio un esempio più semplice. Ammesso di avere 1 solo sorgente chiamato prova.c, per generare l'eseguibile 'prova' si può fare questo makefile: Codice:
prova: prova.o
cc -o prova prova.o
prova.o: prova.c
cc -c -o prova.o prova.c
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 409
|
ho fatto in questo modo:
Codice:
server: server.o libnet.o liste.o liste_t.o
cc -o server server.o libnet.o liste.o liste_t.o -lpthread
client: client.o libnet.o liste.o liste_t.o
cc -o client client.o libnet.o liste.o liste_t.o -lpthread
sever.o: sorgenti/server.c
cc -c sorgenti/server.c
libnet.o: sorgenti/gestione_connessione/libnet.c
cc -c sorgenti/gestione_connessione/libnet.c
liste.o: sorgenti/gestione_connessione/liste.c
cc -c sorgenti/gestione_connessione/liste.c
liste_t.o: sorgenti/gestione_connessione/liste_t.c
cc -c sorgenti/gestione_connessione/liste_t.c
makefile:1: *** commands commence before first target. Stop. che vuol dire??????? |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 409
|
ho risolto erano i TAB, grazie per l'aiuto ciao
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:08.



















