[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