Bonsoir,
Je me base sur le site d'Emmanuel Delahaye pour créer mon Makefile.
Donc voici mon architecture :
* inc : toolstring.h
* src : main.c, toolstring.h
* obj : .obj
* bin : sans ext

Mon makefile (que j'ai modifié pour mes besoins) :

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
40
41
42
43
44
45
46
47
48
49
# Makefile
 
# Paths
DSRC = src
DINC = inc
DOBJ = obj
DEXE = bin
 
# Compiler flags
CFLAGS = -I$(DINC)
 
# Commands
CC = gcc -c $(CFLAGS)
LK = ld
RM = del
 
# Project list
OBJS =                   \
 $(DOBJ)/toolstring.obj  \
 $(DOBJ)/main.obj        \

#Rebuild all target
all: $(DEXE)/toolstring
 
# Clean all target
clean:
	cd $(DOBJ)
	$(RM) *.obj
	cd ../$(DEXE)
	$(RM) *.exe
	cd ..
 
# main target (OBJS + init code + library)
$(DEXE)/toolstring : $(OBJS)
	$(LK) -o $(DEXE)/toolstring $(OBJS) -lc
 
# objects
 
# The toolstring.c file
$(DOBJ)/toolstring.obj : $(DSRC)/toolstring.c          \
                         $(DINC)/toolstring.h          \
                         Makefile
	$(CC) $(DSRC)/toolstring.c -o$(DOBJ)/toolstring.obj
 
# The main.c file
$(DOBJ)/main.obj : $(DSRC)/main.c            \
                   $(DINC)/toolstring.h      \
                   Makefile
	$(CC) $(DSRC)/main.c -o$(DOBJ)/main.obj
lorsque je fais un make, j'ai une erreur au niveau du link :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
gcc -c -Iinc src/toolstring.c -oobj/toolstring.obj
gcc -c -Iinc src/main.c -oobj/main.obj
ld -o bin/toolstring obj/toolstring.obj obj/main.obj  -lc
ld: AVERTISSEMENT: ne peut trouver le symbole d'entrée _start; utilise par défaut 0000000008048390
J'ai viré le :
de l'exemple car il me semble que c'est spécifique à windows (?)

Merci de votre aide !