Comment à force de faire toujours la reconstruction d'un fichier

J'ai une version.c fichier dans mon projet qui contient de la révision en cours du projet et quelques autres trucs qui est passé comme une définition (-D option de compilation) de makefile.

Je sais qu'à force de faire de compiler la version.c toujours indépendamment de la date de modification, je peux touch version.c.

Est-il un makefile seul moyen d'y parvenir? Si j'écris .PHONY : version.o le fichier objet n'est pas se construire à tous.

EDIT:
Voici mon makefile:

export CC = gcc


export MODULES = $(sort \
     sys \
     cim \
     version \
)

export FILES = $(sort \
             main.c \
             cim.c \
             version.c \
)

VPATH = $(MODULES)

OBJS = $(FILES:.c=.o)

INCLUDES = $(addprefix -I,$(MODULES))

all:$(OBJS)
    $(CC) $(INCLUDES) $(OBJS) -o main.exe


clean:
    rm -rf *.o *.exe

cim.o: cim.c
main.o: main.c cim.o
version.o: version.c

.PHONY: version.o

.c.o :
    $(CC) $(CFLAGS) $(INCLUDES) -c $<
  • Est l'absence de : après .PHONY un copier/coller de l'erreur dans votre post? Pourriez-vous montrer un peu de votre Makefile? Aussi: stackoverflow.com/questions/816370/...
  • c'était une faute de frappe
  • S'il vous plaît montrer au moins une partie de votre Makefile. Le .PHONY "truc" fonctionne.
  • Les objectifs de "tous" et "propre", sont autorisées, fausses cibles. Je reste à être convaincu que la " version.o' peut légitimement être classé comme un faux cible. Après tout, c'est un vrai fichier.
  • mais c'est ce que je reçois dans le résultat: gcc-Icim -Isys -Iversion -c cim/cim.c gcc-Icim -Isys -Iversion -c-sys/main.c gcc-Icim -Isys -Iversion cim.o principal.o version.o-o main.exe gcc.exe: version.o: Aucun fichier ou répertoire de make[1]: *** [all] Erreur 1
InformationsquelleAutor devemouse | 2011-10-04