problème d'écriture d'un makefile
Bonjour,
Je voudrai écrire un makefile pour compiler des sources selon le schéma suivant:
Code:
1 2 3 4
|
/ makefile
src/main.cc
hello/hello.cc |
en
Code:
1 2 3 4 5 6 7
|
/ makefile
src/main.cc
hello/hello.cc
obj/main.o
hello/hello.o
bin/app |
J'arrive a ecrire un makefile qui compile le main.cc en main.o puis en app. Mais je n'arrive pas a creer le makefile avec la sous arborence hello.
De plus j'aimerai le faire sans avoir a faire une liste des sources dans le makefile.
Voila mon makefile pour la compilation avec un seul repertoire
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
|
EXEC = app
CC = g++
CFLAGS = -W -Wall -ansi -pedantic
LDFLAGS = -lboost_regex
EXECPATH = ./bin
SRC= src
OBJ= obj
all: $(EXECPATH)/$(EXEC)
$(EXECPATH)/$(EXEC)
$(EXECPATH)/$(EXEC): $(OBJ)/*.o
$(CC) -o $(EXECPATH)/$@ $^ $(LDFLAGS)
$(OBJ)/%.o: = $(SRC)/%.cc
$(CC) -o $@ -c $< $(CFLAGS)
.PHONY: clean mrproper
clean:
@rm -rf $(OBJ)/*.o
mrproper: clean
@rm -rf $(EXECPATH)/$(EXEC) |
NB: je suis sous linux.