fbcyborg
16-03-2011, 17:21
Salve a tutti,
sto cercando di creare un Makefile, dopo aver letto diverse guide a destra e sinistra, ma non ci riesco.
La struttura del mio progetto è il seguente:
.
|-- main.c
|-- main.h
|-- Makefile
|-- io
| |-- file_ops.c
| `-- file_ops.h
|-- string
| |-- string_ops.c
| `-- string_ops.h
|-- textfile.txt
`-- util
|-- chunks.c
`-- chunks.h
Il makefile che ho scritto è così:
CC = gcc
CFLAGS = -march=core2 -O2 -pipe
PROG = 'EncryptFiles'
LIBS = -lpaillier -lgmp -lpthread
EncryptFiles : main.o file_ops.o string_ops.o chunks.o
gcc main.o file_ops.o string_ops.o chunks.o
main.o : main.h main.c
gcc -c main.c
file_ops.o : io/file_ops.h io/file_ops.c
gcc -c io/file_ops.c
string_ops.o : string/string_ops.h string/string_ops.c.
gcc -c string/string_ops.c
chunks.o : util/chunks.h util/chunks.c.
gcc -c util/chunks.c
clean:
rm *.o
Il problema è che al massimo mi crea un paio di files .o nella directory per poi terminare con:
make: *** No rule to make target `string/string_ops.c.', needed by `string_ops.o'. Stop.
EDIT: Ho risolto. C'erano dei punti che non dovevano esserci alla fine di un paio di righe, e li ho tolti. ora funziona.
sto cercando di creare un Makefile, dopo aver letto diverse guide a destra e sinistra, ma non ci riesco.
La struttura del mio progetto è il seguente:
.
|-- main.c
|-- main.h
|-- Makefile
|-- io
| |-- file_ops.c
| `-- file_ops.h
|-- string
| |-- string_ops.c
| `-- string_ops.h
|-- textfile.txt
`-- util
|-- chunks.c
`-- chunks.h
Il makefile che ho scritto è così:
CC = gcc
CFLAGS = -march=core2 -O2 -pipe
PROG = 'EncryptFiles'
LIBS = -lpaillier -lgmp -lpthread
EncryptFiles : main.o file_ops.o string_ops.o chunks.o
gcc main.o file_ops.o string_ops.o chunks.o
main.o : main.h main.c
gcc -c main.c
file_ops.o : io/file_ops.h io/file_ops.c
gcc -c io/file_ops.c
string_ops.o : string/string_ops.h string/string_ops.c.
gcc -c string/string_ops.c
chunks.o : util/chunks.h util/chunks.c.
gcc -c util/chunks.c
clean:
rm *.o
Il problema è che al massimo mi crea un paio di files .o nella directory per poi terminare con:
make: *** No rule to make target `string/string_ops.c.', needed by `string_ops.o'. Stop.
EDIT: Ho risolto. C'erano dei punti che non dovevano esserci alla fine di un paio di righe, e li ho tolti. ora funziona.