You only get that file if you have wrapped a module explicitly in the .pyf file. If you haven't wrapped a module, that doesn't get created.
Gaetan On Tue, Mar 28, 2017 at 12:28 PM, Austin Herrema <aherr...@iastate.edu> wrote: > Gaetan, > > Thank you for this. With your help, I think I am getting close to getting > this to work for my case. At the moment, I am hung up on the line of your > makefile which reads "$(FF90) $(FF90_ALL_FLAGS) -I$(MAIN_DIR)/mod -c > warpustruct-f2pywrappers2.f90". Am I correct that > warpustruct-f2pywrappers2.f90 should be generated by f2py? If so, do you > (or does anyone else) know the command for telling f2py to do so? At the > moment I am using: > > f2py run_analysis.f90 -m run_analysis -h run_analysis.pyf > > to get the requisite .pyf and .c files, but no .f90 file. If I am wrong > about the origin of this file, please do tell me! > > Thank you, > Austin > > On Mon, Mar 27, 2017 at 5:13 PM, Gaetan Kenway <gaet...@gmail.com> wrote: > >> Austin >> >> Here is the full makefile for a code we use. The variables defined >> externally in a separate config file are: >> $(FF90) >> $(FF90_FLAGS) >> $(LIBDIR) >> $(PETSC_LINKER_FLAGS) >> $(LINKER_FLAGS) >> $(CGNS_LINKER_FLAGS) >> >> $(PYTHON) >> $(PYTHON-CONIFG) >> $(F2PY) >> (These are usually use python, python-config and f2py. You can overwrite >> as necessary) >> >> $(CC) >> $(CC_ALL_FLAGS) >> >> This essentially just mimics what f2py does automatically but we found it >> easier to control exactly what is going on. Essentially you are just >> compiling exactly as you normally an executable, but instead make a .so >> (with the -shared option) and including the additional .o files generated >> by compiling the f2py-generated wrappers. >> >> Hope this helps, >> Gaetan >> >> On Sat, Mar 25, 2017 at 5:38 AM, Lisandro Dalcin <dalc...@gmail.com> >> wrote: >> >>> >>> >>> On 22 March 2017 at 20:29, Barry Smith <bsm...@mcs.anl.gov> wrote: >>> >>>> >>>> Lisandro, >>>> >>>> We've had a couple questions similar to this with f2py; is there a >>>> way we could add to the PETSc/SLEPc makefile rules something to allow >>>> people to trivially use f2py without having to make their own (often >>>> incorrect) manual command lines? >>>> >>>> Thanks >>>> >>>> >>> Barry, it is quite hard and hacky to get f2py working in the general >>> case. I think the email from Gaetan in this thread proves my point. >>> >>> IMHO, it is easier to write a small Fortran source exposing the API to >>> call using ISO_C_BINDINGS, then wrap that code with the more traditional >>> C-based "static" tools (SWIG, Cython) or even "dynamically" with ctypes or >>> cffi (which use dlopen'ing). >>> >>> >>> >>> -- >>> Lisandro Dalcin >>> ============ >>> Research Scientist >>> Computer, Electrical and Mathematical Sciences & Engineering (CEMSE) >>> Extreme Computing Research Center (ECRC) >>> King Abdullah University of Science and Technology (KAUST) >>> http://ecrc.kaust.edu.sa/ >>> >>> 4700 King Abdullah University of Science and Technology >>> al-Khawarizmi Bldg (Bldg 1), Office # 0109 >>> Thuwal 23955-6900, Kingdom of Saudi Arabia >>> http://www.kaust.edu.sa >>> >>> Office Phone: +966 12 808-0459 <+966%2012%20808%200459> >>> >> >> > > > -- > *Austin Herrema* > PhD Student | Graduate Research Assistant | Iowa State University > Wind Energy Science, Engineering, and Policy | Mechanical Engineering >