Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Main makefile which does the build
- #makedepend flags
- DFLAGS =
- #Compiler flags
- #if mode variable is empty, setting debug build mode
- ifeq ($(mode),release)
- CFLAGS = -Wall
- else
- mode = debug
- CFLAGS = -g -Wall
- endif
- CC = g++
- PROG = fooexe
- #each module will append the source files to here
- SRC := main.cpp
- #including the description
- include bar/module.mk
- include foo/module.mk
- OBJ := $(patsubst %.cpp, %.o, $(filter %.cpp,$(SRC)))
- .PHONY:all
- all: information fooexe
- information:
- ifneq ($(mode),release)
- ifneq ($(mode),debug)
- @echo "Invalid build mode."
- @echo "Please use 'make mode=release' or 'make mode=debug'"
- @exit 1
- endif
- endif
- @echo "Building on "$(mode)" mode"
- @echo ".........................."
- #linking the program
- fooexe: $(OBJ)
- $(CC) -o $(PROG) $(OBJ)
- %.o:%.cpp
- $(CC) $(CFLAGS) -c $< -o $@
- depend:
- makedepend -- $(DFLAGS) -- $(SRC)
- .PHONY:clean
- clean:
- find . -name "*.o" | xargs rm -vf
- rm -vf fooexe
- for debugger: -O0 -g -Wall
- for development and internal release: -O2 -g -Wall
- for release outside the company: -O2 -Wall
Add Comment
Please, Sign In to add comment