[petsc-dev] making make cmake less verbose
Satish Balay
balay at mcs.anl.gov
Thu Dec 13 15:42:59 CST 2012
Just a note: about the invoking only 'make -C {PETSC_DIR}/${PETSC_ARCH}'
It will miss redoing the dsymutil stuff - that 'cmake:' currently does.
Also I avoid -C in target 'cmake' [and use 'cd' instead] becuase -C is
gnu-make extension - and not portable.
Satish
On Thu, 13 Dec 2012, Satish Balay wrote:
> you would get that behavior with:
>
> make cmake VERBOSE=1
>
> Satish
>
> On Thu, 13 Dec 2012, Barry Smith wrote:
>
> >
> > Satish,
> >
> > No need to do this change. I would like the current make cmake to continue to behave exactly as it does now.
> >
> > Barry
> >
> > On Dec 13, 2012, at 3:37 PM, Satish Balay <balay at mcs.anl.gov> wrote:
> >
> > > On Thu, 13 Dec 2012, Barry Smith wrote:
> > >
> > >>
> > >>
> > >> On Dec 13, 2012, at 3:18 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> > >>
> > >>> It is displaying all the debugging information. You'll only get the useful information if you run this:
> > >>>
> > >>> make -j5 -C arch-gnu
> > >>
> > >> Yes, your suggestion is not verbose because it doesn't do anything
> > >>
> > >> Barrys-MacBook-Pro:tutorials barrysmith$ make -j5 -C arch-gnu
> > >> make: *** arch-gnu: No such file or directory. Stop.
> > >> Barrys-MacBook-Pro:tutorials barrysmith$ pwd
> > >> /Users/barrysmith/Src/petsc-dev/src/snes/examples/tutorials
> > >>
> > >> I don't want a "clean" top-level only command, like make cmake I want to run this command from whatever directory I am in and have it work correctly.
> > >>
> > >> I guess I'll just add the rule ccmake: pushd ${PETSC_DIR} ; make -j5 -C ${PETSC_ARCH}; popd in the conf/rules makefile, would that be reasonable?
> > >
> > >
> > > Looks like the primary issue here is the extra option to make
> > > 'VERBOSE=1' in the taret 'cmake'. And this is there primarily for the
> > > top level make target to gather details into make.log
> > >
> > > How about the following?
> > >
> > > Satish
> > >
> > > -------
> > > asterix:/home/balay/spetsc>hg diff
> > > diff --git a/conf/rules b/conf/rules
> > > --- a/conf/rules
> > > +++ b/conf/rules
> > > @@ -85,7 +85,7 @@
> > > cmake: chk_makej
> > > @echo "Building PETSc using CMake with ${MAKE_NP} build threads"
> > > @echo "=========================================="
> > > - @cd ${PETSC_DIR}/${PETSC_ARCH} && ${OMAKE} -j ${MAKE_NP} VERBOSE=1
> > > + @cd ${PETSC_DIR}/${PETSC_ARCH} && ${OMAKE} -j ${MAKE_NP} VERBOSE=${VERBOSE}
> > > @if [ "${BUILDSHAREDLIB}" = "yes" -a "${DSYMUTIL}" != "true" ]; then \
> > > echo "Running ${DSYMUTIL} on ${SHLIBS}";\
> > > for LIBNAME in ${SHLIBS}; do ${DSYMUTIL} ${INSTALL_LIB_DIR}/$$LIBNAME.${SL_LINKER_SUFFIX}; done; fi
> > > diff --git a/makefile b/makefile
> > > --- a/makefile
> > > +++ b/makefile
> > > @@ -24,7 +24,7 @@
> > > @${OMAKE} PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR} chkpetsc_dir petscnagupgrade | tee ${PETSC_ARCH}/conf/make.log
> > > @ln -sf ${PETSC_ARCH}/conf/make.log make.log
> > > @if [ "${PETSC_BUILD_USING_CMAKE}" != "" ]; then \
> > > - ${OMAKE} PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR} all-cmake 2>&1 | tee -a ${PETSC_ARCH}/conf/make.log \
> > > + ${OMAKE} PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR} all-cmake VERBOSE=1 2>&1 | tee -a ${PETSC_ARCH}/conf/make.log \
> > > | egrep -v '( --check-build-system |cmake -E | -o CMakeFiles/petsc[[:lower:]]*.dir/| -o lib/libpetsc|CMakeFiles/petsc[[:lower:]]*\.dir/(build|depend|requires)|-f CMakeFiles/Makefile2|Dependee .* is newer than depender |provides\.build. is up to date)'; \
> > > else \
> > > ${OMAKE} PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR} all-legacy 2>&1 | tee -a ${PETSC_ARCH}/conf/make.log \
> > > asterix:/home/balay/spetsc>
> > >
> >
> >
>
>
More information about the petsc-dev
mailing list