2010-09-15 5 views
-1

salut je veux faire un Makefile linux qui prendra tous les fichiers .cpp dans le répertoire les compiler et créer un fichier .o que je peux actif comment je peux le faire avec les règles implicitesRègles implicites dans Makefile

grâce Mati

+0

Tu veux dire un '' .a' ou fichier .so'? –

+0

Il y aura n fichiers .o pour n fichiers .cpp. Je pense que vous parlez de .so. Utilisez arcs pour générer des bibliothèques – Alam

Répondre

1

règles implicites vous aideront à créer les fichiers objets, mais les combiner ensemble devront être fait explicitement (comme il est quelque chose qui est rarement fait).

OBJ = a.o b.o 

big.o : ${OBJ} 
    ${LD} -r -o [email protected] $^ 
0

Ou vous pouvez peut-être essayer de suivre la méthode après correctement défini les variables:

.o: .cpp 
    $(CPP) -c $(CPPFLAGS) $< -o [email protected] 
$(EXECUTABLE): $(OBJ) 
    $(CPP) $(LDFLAGS) $^ -o [email protected] 
+0

$ (CPP) et $ (CPPFLAGS) sont pour le préprocesseur, pas le compilateur. Je pense que vous vouliez dire $ (CXX) et $ (CXXFLAGS). – robinjam