Bonjour les gars !!
Voici ma question hebdomadaire...
Je suis en train de faire un makefile à la main pour pouvoir compiler sous Linux une application C++.
J'aimerais bien savoir pourquoi il ne marche pas correctement... (ou pas du tout d'ailleurs)
Voici le code du makefile :
Le but c'était qu'il mette tous les .o dans un repertoire "obj" que le script aurait créé auparavant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 # Compiler g++ CC=g++ # Compiler options CFLAGS=-c -Wall -O3 # Object folder OBJ_F=./obj # All ".o" OBJ = pqr.o pqr_tst.o pqr_ob_fee.o all: demo mkdir ./obj demo: demo.o pqr.o pqr_tst.o pqr_ob_fee.o # demo$(CC) $(OBJ_F)/$(OBJ) -o $(CC) $(OBJ_F)/ $(OBJ) -o demo.o: test2.cpp mkdir ./obj $(CC) $(CFLAGS) test2.cpp mv test2.o $(OBJ_F) pqr.o: pqr.cpp $(CC) $(CFLAGS) pqr.cpp mv pqr.o $(OBJ_F) pqr_tst.o: pqr_tst.cpp $(CC) $(CFLAGS) pqr_tst.cpp mv pqr_tst.o $(OBJ_F) pqr_ob_fee.o: pqr_ob_fee.cpp $(CC) $(CFLAGS) pqr_ob_fee.cpp mv pqr_ob_fee.o $(OBJ_F) clean: rm -rf $(OBJ_F) demo *core*
Comment je peux faire pour qu'il compile tous les .o contenus en "obj" d'un seul coup ? (Comme ce que j'ai essayé de faire avec $(CC) $(OBJ_F)/ $(OBJ) -o)
Une deuxième question... à quoi ça sert : $<, $* et $@ ?
Quelqu'un peux me donner des exemples ?
Merci beaucoup de votre aide !!
Partager