[Makefile] Problème de liens
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:
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:
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 :
Code:
DLIB = d:/djgpp/lib
de l'exemple car il me semble que c'est spécifique à windows (?)
Merci de votre aide !