[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] Makefile



Gaëtan PERRIER wrote:
> Le Fri, 26 Sep 2008 21:22:55 +0200
> Franck Joncourt <franck.mail@dthconnex.com> a écrit:
[...]
> 
> Merci pour ta réponse rapide mais ensuite tu fais comment pour le link? De
> plus il faut recréer l'arbo source dans ./obj sinon ça ne fonctionne pas, non?
> 
> Moi j'ai un truc du genre:
> 
> ./inc/*.h
> ./src/*.c
> ./*.c
> ./Makefile
> 
> Je ne veux pas polluer ./inc et ./src
> 
> J'ai donc commencé avec un Makefile du genre:
> 
> CC=gcc
> CFLAGS=-W -Wall -ggdb3
> LDFLAGS=
> EXEC=mon_prog
> SRC= $(wildcard *.c)
> SRC+=$(wildcard src/*.c)
> OBJ= $(SRC:.c=.o)
> INC_PATH=./itf/:./inc/
> 
> all: $(EXEC)
> 
> $(EXEC): $(OBJ)
> 	@$(CC) -o $@ $^ $(LDFLAGS)
> 
> %.o: %.c
> 	@C_INCLUDE_PATH=$(INC_PATH) $(CC) -o $@ -c $< $(CFLAGS)

Quelque chose du genre:

SRCPATH = ./
OBJPATH = ./obj/

%.o: %.c
  $(CC) $(CFLAGS) -c $(SRCPATH)$< -o $(OBJPATH)$@

mon_prog: ma liste_de _fichier_o
  $(CC) $(LDFLAGS) $(OBJPATH)* -o $(HEXPATH)$@

Je n'ai jamais utilisé les wilcards auparavant. Va falloir que je creuse.

> Ce qui me crée des .o dans ./src/
> Si je rajoute ce que tu m'indiques ça me crée bien les .o dans ./obj/
> et ./obj/src (à condition que je crée cette arbo avant). Mais ensuite pour le
> link ça ne marche pas. J'ai essayé de modifier en 
> $(EXEC): $(OBJ)
> 	@$(CC) -o $(OBJ_PATH)$@ $^ $(LDFLAGS)
> 
> mais sans succès.


-- 
Franck Joncourt
http://debian.org - http://smhteam.info/wiki/
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: