Ecris une règle implicite, du style:
CC = gcc
.c.o:
$(CC) $(CFLAGS) -c $<
ce qui te débarassera des règles suivantes.
Le main.c sera compilé comme les autres, en un main.o donc.
Ajoute éventuellement "-I." dans CFLAGS, pour que make retrouve les .h
dans
le répertoire courant, et inclus outils2d.h (#include "outils2d.h") dans
main.c.
Les liaisons entre objets binaires ne se fait qu'au moment du link,
i.e., au moment
de la fabrication de ton exécutable "go".
Personnellement, j'écrirais un Makefile du style:
________________________________________________________________
default: go
all: go
CFLAGS = -I../src -I../src/X11 -I../src/PS -I../src/GIF -g -O2 \
-I/usr/X11R6/include -I/usr/local/include \
-DLINUX=1 -DDO_PS=1 -DDO_X11=1 -DDO_GIF=1 \
-DSTDC_HEADERS=1 -DHAVE_LIMITS_H=1
LDFLAGS = -L.. -lg2 -L/usr/X11R6/lib -L/usr/local/lib -lm -lX11 -lgd
.SUFFIXES: .c .o
.c.o:
$(CC) $(CFLAGS) $<
SRCS = main.c triangul.c traiteme.c \
utilitai.c ergonomi.c outils2d.c
BINS = $(SRCS:.c=.o)
go: $(BINS)
$(CC) $(LDFLAGS) $(BINS) -o $@
clean:
rm *.o *~ core
________________________________________________________________
Denis
Linux-Azur : http://www.linux-azur.org
Désinscriptions: http://www.linux-azur.org/liste.php3
**** Pas de message au format HTML, SVP ****