[petsc-dev] snes/ex56 target is gone

Jed Brown jed at jedbrown.org
Wed Jun 28 11:36:49 CDT 2017


Satish Balay <balay at mcs.anl.gov> writes:

> Yeah - that part of the interface in now more complex - so we'll have
> to figure out how that can be improved..

I have the following file just sitting in PETSC_DIR/Makefile.user.  I
build code with

$ make -f $PETSC_DIR/Makefile.user ex56

from any directory (no need to have a local Makefile; just copy the
example wherever you want or leave it in the source directory if you
insist).  I like this because there are no includes, thus no mysterious
make variables, and it's clear how one would compose it with other
packages that provide pkgconfig files.

$ cat $PETSC_DIR/Makefile.user
PETSc.pc := $(PETSC_DIR)/$(PETSC_ARCH)/lib/pkgconfig/PETSc.pc

CC := $(shell pkg-config --variable=ccompiler $(PETSc.pc))
CXX := $(shell pkg-config --variable=cxxcompiler $(PETSc.pc))
FC := $(shell pkg-config --variable=fcompiler $(PETSc.pc))
CFLAGS := $(shell pkg-config --variable=cflags_extra $(PETSc.pc)) $(shell pkg-config --cflags-only-other $(PETSc.pc))
CPPFLAGS := $(shell pkg-config --cflags-only-I $(PETSc.pc))
LDFLAGS := $(shell pkg-config --libs-only-L --libs-only-other $(PETSc.pc))
LDFLAGS += $(patsubst -L%, $(shell pkg-config --variable=ldflag_rpath $(PETSc.pc))%, $(shell pkg-config --libs-only-L $(PETSc.pc)))
LDLIBS := $(shell pkg-config --libs-only-l $(PETSc.pc)) -lm

print:
	@echo CC=$(CC)
	@echo CFLAGS=$(CFLAGS)
	@echo CPPFLAGS=$(CPPFLAGS)
	@echo LDFLAGS=$(LDFLAGS)
	@echo LDLIBS=$(LDLIBS)


>
> Satish
>
> On Wed, 28 Jun 2017, Mark Adams wrote:
>
>> Oh right I noticed the stuff at the bottom. It was nice being able to tell
>> people to just copy the source file and makefile and run it...
>> 
>> On Tue, Jun 27, 2017 at 7:43 PM, Satish Balay <balay at mcs.anl.gov> wrote:
>> 
>> > On Tue, 27 Jun 2017, Matthew Knepley wrote:
>> >
>> > > On Tue, Jun 27, 2017 at 6:24 PM, Matthew Knepley <knepley at gmail.com>
>> > wrote:
>> > >
>> > > > On Tue, Jun 27, 2017 at 6:22 PM, Mark Adams <mfadams at lbl.gov> wrote:
>> > > >
>> > > >> I looks like the target (runex56) for snes/ex56.c is not in the
>> > makefile.
>> > > >> Anyone know why that happened?
>> > > >>
>> > > >
>> > > > I took it out and converted all tests to the new format.
>> > > >
>> > >
>> > > cd $PETSC_DIR
>> > > make -f ./gmakefile test pysearch="snes_tutorials-runex56*"
>> >
>> > Or use echo_test to print the targets and then run the tests.
>> >
>> > balay at asterix /home/balay/petsc (master=)
>> > $ make -f gmakefile echo_test search=sys%ex1
>> > sys_tutorials-runex1 sys_tests-runex1
>> > balay at asterix /home/balay/petsc (master=)
>> > $ make -f gmakefile echo_test search=snes% searchin=ex56
>> > snes_tutorials-runex56_hypre snes_tutorials-runex56_ml
>> > snes_tutorials-runex56_0
>> > balay at asterix /home/balay/petsc (master=)
>> > $ make -f gmakefile snes_tutorials-runex56_0
>> > Use "/usr/bin/gmake V=1" to see verbose compile lines, "/usr/bin/gmake
>> > V=0" to suppress.
>> >      CLINKER arch-linux2-c-debug/tests/src/snes/examples/tutorials/ex56
>> >         TEST snes_tutorials-runex56_0
>> > ok snes_tutorials-ex56_0
>> > ok diff-snes_tutorials-ex56_0
>> > balay at asterix /home/balay/petsc (master=)
>> >
>> > Satish
>> >
>> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20170628/9a366ab6/attachment.sig>


More information about the petsc-dev mailing list