J'écris un Makefile dans ce répertoire:Erreur Makefile: Aucune règle pour rendre la cible, nécessaire pour 'tous'. Arrêtez
.
├── bin
│ └── obj
├── include
│ ├── globals.h
│ ├── ma.h
│ ├── mb.h
│ ├── mc.h
│ └── md.h
├── Makefile
├── Makefile.save
├── src
│ ├── ma.c
│ ├── main.c
│ ├── mb.c
│ ├── mc.c
│ └── md.c
└── test
├── main.c
└── main.o
Mon Makefile est la suivante:
CFLAGS := -Wall -g -pedantic --std=c99
objs := bin/obj/ma.o bin/obj/mb.o bin/obj/mc.o bin/obj/md.o bin/obj/main.o
all: $(objs)
%.o: %.c
gcc -c $< -o [email protected] $(CFLAGS)
Mais je ne peux pas exécuter avec make ordre; le programme me donne cette erreur:
make: *** No rule to make target 'bin/obj/ma.o', needed by 'all'. Stop.
Quelqu'un a une idée?
vos fichiers c sont dans le dossier ** src ** et pourquoi ** bin **? vous pouvez juste utiliser obj/* –