Code Comments
Programming Forum and web based access to our favorite programming groups.man make on my linux box is not much help. Don't have a make book. This directory is getting too crowded. I would like to have it seperated out into the following directories src include obj/Linux obj/Solaris bin/Linux bin/Solaris test/Linux test/Solaris The method below takes me a lot of time to maintain dependancies makedepend does not recognize that some of the files are in a .a Everything is currently in RCS I don't use any ide, just a shell, nedit and a makefile. Need example please. Here's what I'd like to see. I know I'm close but syntax errors are killing me: define Cpu_type if [ `/bin/uname -s` = 'SunOS' ] ; then echo SunOS ; \ elif [ `/bin/uname -s` = 'Linux' ] ; then echo Linux ; \ fi endef define Inst if [ `/bin/uname -s` = 'SunOS' ] ; then echo /usr/local/bin/install ; \ elif [ `/bin/uname -s` = 'Linux' ] ; then echo /usr/bin/install ; \ fi endef define Date_time /bin/date '+%d%h%y/%H:%M\(%Z\)' endef CPP = purify -windows=no -log-file=purify.log g++ CPP = purify g++ CPP = g++ INC = -Iinclude CPPFLAGS = -g3 -Wall -DDEBUG_LAFFREAD $(INC) CPPFLAGS = -O3 -Wall $(INC) CPPFLAGS = -g3 -O2 -Wall $(INC) CPPFLAGS = -g3 -Wall $(INC) OS = $(shell $(Cpu_type)) INSTALL = $(shell $(Inst)) OLIBS = MKDIR = /bin/mkdir -p PREFIX = . MAKE_SH = /data/cdmg/dev/cdmg_toolbox/programs/make_sh INS_DIR = $(PREFIX)/bin/$(OS) LIBS = $(OS)/libcdmg.a $(OS)/lib/libpcre.a LIB = $(OS)/libcdmg.a TLIB = $(OS)/libcdmgT.a AR = ar AR_OPT = rv AR_CREATE_OPT = cr SRCDIR = src # no syntax error to there OBJ_FILES = \ $(LIB)(break_pyr.o) \ $(LIB)(ControlFile.o) \ T_OBJ_FILES = \ $(TLIB)(t_ListDirectory.o) \ $(TLIB)(t_MakePath.o) \ $(TLIB)(t_ExCommand.o) \ $(TLIB)(t_Ui.o) \ PROGRAMS = \ BreakPyrName \ CleanLaff \ FigsOnLayer \ .SUFFIXES: .SUFFIXES: .cxx .cpp .c .a all : $(LIB) \ $(addprefix $(OS)/,$(PROGRAMS)) <<<<< MISSING SPPERATOR HERE .cxx.a : $(LIB) $(CPP) -c $(CPPFLAGS) $< $(AR) $(AR_OPT) $@ $*.o > /dev/null rm $*.o $(OS)/% : %.cxx @if [ ! -d $(OS) ]; then \ $(MKDIR) $(OS) ; \ fi; $(CPP) $(CPPFLAGS) $< -o $@ $(OLIBS) $(LIBS) TEST : $(LIB) $(TLIB) TEST.cxx $(CPP) $(CPPFLAGS) -o $(OS)/$@ TEST.cxx $(OLIBS) $(TLIB) $(LIBS) -lm test : TEST $(OS)/TEST 1> /dev/null $(LIB) : $(OBJ_FILES) $(AR) $(AR_CREATE_OPT) $(LIB) $(TLIB) : $(T_OBJ_FILES) $(AR) $(AR_CREATE_OPT) $(TLIB) -- ___ _ ____ ___ __ __ / _ )(_) / /_ __ / _ \___ _/ /_/ /____ ___ / _ / / / / // / / ___/ _ `/ __/ __/ _ \/ _ \ /____/_/_/_/\_, / /_/ \_,_/\__/\__/\___/_//_/ /___/ Texas Instruments ASIC Circuit Design Methodlogy Group Dallas, Texas, 214-480-4455, b-patton@ti.com
Post Follow-up to this messageBilly N. Patton wrote: > man make on my linux box is not much help. > Don't have a make book. I don't know enough about make to answer your question, but "info make" provides more complete information than "man make". > This directory is getting too crowded. > I would like to have it seperated out into the following directories Have a look at "info make recursion". Hope I could help (a little), Heiko
Post Follow-up to this message"Heiko" <heiko.noordhof_A_xs4all.nl> wrote: > Have a look at "info make recursion". Ha. Have a look at: http://www.tip.net.au/~millerp/rmch...-cons-harm.html Peter Miller's "Recursive Make Considered Harmful". Even if you don't agree with the author's points - and it's a well written paper IMHO - there are some interesting insights into make for the intermediate user.
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.