Bonjour,

Je rencontre un problème dans un makefile sous Windows XP: le makefile génère une ligne de commande trop longue pour le système d'exploitation.

Je pensais avoir trouvé une solution en scindant cette ligne de commande:

$(OBJECTS_FOR_LIB) contient file1.o file2.o ..... fileX.o

Je désire obtenir:
$(AR) $(ARFLAGS) $(LIB_FUNAME) file1.o
$(AR) $(ARFLAGS) $(LIB_FUNAME) file2.o
...
$(AR) $(ARFLAGS) $(LIB_FUNAME) fileX.o


J'ai donc utilisé la définition suivante:

define MAKE_LIB_FU
$(foreach File2Archiv,$(OBJECTS_FOR_LIB), $(AR) $(ARFLAGS) $(LIB_FUNAME) $(File2Archiv) )
endef


Le seul problème est que je process bien mes différents File2Archiv mais les différentes commandes sont réalisées en une seule ligne:

$(AR) $(ARFLAGS) $(LIB_FUNAME) file1.o $(AR) $(ARFLAGS) $(LIB_FUNAME) file2.o ... $(AR) $(ARFLAGS) $(LIB_FUNAME) fileX.o

qui n'est pas digéré par la ligne DOS.

NB: je ne souhaite pas passer par cygwin qui serait une solution.