Hi,
I wonder where to put the optimization and debugging options in Makefile: linking stage or compiling stage? I am reading a Makefile:
What surprises me is CXXFLAGS is used in linking. I know it is also used in the implicit rule for compiling to generate .o files but is it necessary to use it again for linking? Specifically, where should I put optimization and debugging: linking stage or compiling stage?Code:ifeq ($(STATIC),yes) LDFLAGS=-static -lm -ljpeg -lpng -lz else LDFLAGS=-lm -ljpeg -lpng endif ifeq ($(DEBUG),yes) OPTIMIZE_FLAG = -ggdb3 -DDEBUG else OPTIMIZE_FLAG = -ggdb3 -O3 endif ifeq ($(PROFILE),yes) PROFILE_FLAG = -pg endif CXXFLAGS = -Wall $(OPTIMIZE_FLAG) $(PROFILE_FLAG) $(CXXGLPK) test: test.o rgb_image.o $(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) Makefile.depend: *.h *.cc Makefile $(CC) -M *.cc > Makefile.depend clean: \rm -f absurdity *.o Makefile.depend TAGS -include Makefile.depend
Thanks and regards!



LinkBack URL
About LinkBacks



