maj Makefile
This commit is contained in:
parent
5c4f3726d2
commit
767ba8bdcc
23
Makefile
23
Makefile
|
@ -1,23 +1,23 @@
|
||||||
ROJECTNAME=OMTRTA
|
PROJECTNAME=OMTRTA
|
||||||
BIN=build/$(ROJECTNAME)
|
BIN=build/$(PROJECTNAME)
|
||||||
CC=g++
|
CC=g++
|
||||||
|
|
||||||
EXT=cpp
|
EXT=cpp
|
||||||
INCDIRS=include lib
|
INCDIRS=include lib
|
||||||
|
|
||||||
# make mode=release
|
# make mode=release
|
||||||
ifneq ($(mode), release)
|
ifeq ($(mode), release)
|
||||||
OPT=-Og -g
|
|
||||||
else
|
|
||||||
OPT=-O3
|
OPT=-O3
|
||||||
|
else
|
||||||
|
OPT=-Og -g
|
||||||
endif
|
endif
|
||||||
EXTRAFLAGS=
|
|
||||||
DEPFLAGS=-MP -MD
|
DEPFLAGS=-MP -MD
|
||||||
FLAGS=-Wall -Wextra $(foreach F,$(INCDIRS),-I$(F)) $(OPT) $(DEPFLAGS) $(EXTRAFLAGS)
|
FLAGS=-Wall -Wextra $(foreach F,$(INCDIRS),-I$(F)) $(OPT) $(DEPFLAGS)
|
||||||
|
|
||||||
SRC=$(shell find . -name "*.$(EXT)" -path "./src/*")
|
SRC=$(shell find . -name "*.$(EXT)" -path "./src/*")
|
||||||
OBJ=$(subst ./src/,./build/,$(SRC:.$(EXT)=.o))
|
OBJ=$(subst ./src/,./build/,$(SRC:.$(EXT)=.o))
|
||||||
DEP=$(OBJ:.o=.d)
|
DEP=$(OBJ:.o=.d)
|
||||||
|
TEST=$(shell find . -name "*.$(EXT)" -path "./test/*")
|
||||||
|
|
||||||
$(shell mkdir -p build)
|
$(shell mkdir -p build)
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ $(BIN) : $(OBJ)
|
||||||
|
|
||||||
-include $(DEP)
|
-include $(DEP)
|
||||||
|
|
||||||
build/%.o: src/%.$(EXT)
|
build/%.o : src/%.$(EXT)
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
$(CC) $(FLAGS) -o $@ -c $<
|
$(CC) $(FLAGS) -o $@ -c $<
|
||||||
|
|
||||||
|
@ -39,10 +39,13 @@ clean :
|
||||||
rm -rf build/*
|
rm -rf build/*
|
||||||
|
|
||||||
# make test file=testGenID.cpp
|
# make test file=testGenID.cpp
|
||||||
test : $(OBJ) test/$(file)
|
test : $(OBJ)
|
||||||
$(CC) $(FLAGS) -o build/$(file:.$(EXT)=) test/$(file)
|
$(CC) $(FLAGS) -o build/$(file:.$(EXT)=) test/$(file)
|
||||||
./build/$(file:.$(EXT)=)
|
./build/$(file:.$(EXT)=)
|
||||||
|
|
||||||
|
alltest :
|
||||||
|
@for f in $(subst ./test/,,$(TEST)); do make -s test file=$$f; done
|
||||||
|
|
||||||
# unzip : tar -xvf exemple.tgz
|
# unzip : tar -xvf exemple.tgz
|
||||||
dist : clean
|
dist : clean
|
||||||
tar zcvf build/$(PROJECTNAME).tgz *
|
tar zcvf build/$(PROJECTNAME).tgz *
|
||||||
|
@ -55,4 +58,4 @@ info :
|
||||||
$(info put what ever)
|
$(info put what ever)
|
||||||
@echo you want
|
@echo you want
|
||||||
|
|
||||||
.PHONY : all run clean test dist check info
|
.PHONY : all run clean test alltest dist check info
|
||||||
|
|
Loading…
Reference in New Issue