This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Help on Makefile


Hi,

I am having a Makfile file that build one of module in debug mode ie with debug symbols.
Attached the make file


the directiory strcuture is

ModuleBaseDir - All CPP FIles
ModuleBaseDir/depends - all the dependency info files come here.
ModuleBaseDir/Debug - all the object and library here.

Now i do gmake to build

I want to alter - such way that it builds both debug and release
doing gmake debug / gmake release.

Wht all i can do in the enclosed Makefile -

CC = g++
CC_COMPILE = -c
CC_DEBUG = -g

include ../makeopts.mk

CPPFLAGS += -I$(DIR_INCDIR)

# this module's objects
CPPFILES = \
A.cpp \
B.cpp \
C.cpp

OBJS = $(CPPFILES:%.cpp=Debug/%.o)

# default compile command to be used
CURRENT_DEFAULT_COMPILE = $(CC) $(CC_COMPILE) $(CC_DEBUG) $(CPPFLAGS) $<

MAKEDEPEND = $(CC) $(CC_COMPILE) $(CC_DEBUG) $(CPPFLAGS) -M -o depends/$(*F).d $<

DEPDIR = depends
df = $(DEPDIR)/$(*F)

# Final binary to be produced by this build
FINAL = Debug/libA.a

# default target
all : $(FINAL)
	@echo "+----------------------------------------------------+"
	@echo "|                                                    |"
	@echo "| Module [A] : Compiled successfully  |"
	@echo "|                                                    |"
	@echo "+----------------------------------------------------+"

$(FINAL) : $(OBJS)
	ar cr $@ $(OBJS)

$(DEPDIR)/%.P : %.cpp
@ set -e; \
$(MAKEDEPEND); \
cp $(df).d $(df).P; \
sed 's/\(.*\)\.o[ :]*/Debug\/\1.o $(DEPDIR)\/\1.P : /' < $(df).d > $(df).P; \
rm -f $(df).d


Debug/%.o : %.cpp
	$(CURRENT_DEFAULT_COMPILE) -o $@

include $(CPPFILES:%.cpp=$(DEPDIR)/%.P)


.PHONY: clean


clean:
	rm -f Debug/*.a;
	rm -f Debug/*.o;
	rm -f depends/*.P;

# DO NOT DELETE


Many Thanks


_________________________________________________________________
Get head-hunted by 10,500 recruiters. http://www.naukri.com/msn/index.php?source=hottag Post your CV on naukri.com today.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]