CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   why wmake not listen to me? (https://www.cfd-online.com/Forums/openfoam-programming-development/196114-why-wmake-not-listen-me.html)

random_ran November 25, 2017 20:33

why wmake not listen to me?
 
Greeting:

why wmake always link those two folders?

/src/OpenFOAM/ and /src/OSspecific/

even my own application code, is simple like this:

Code:

/*---------------------------------------------------------------------------*\                                                                                                                 
  =========                |                                                                                                                                                                   
  \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox                                                                                                                             
  \\    /  O peration    |                                                                                                                                                                   
    \\  /    A nd          | Copyright (C) 2011-2015 OpenFOAM Foundation                                                                                                                       
    \\/    M anipulation  |                                                                                                                                                                   
-------------------------------------------------------------------------------                                                                                                                 
License                                                                                                                                                                                         
    This file is part of OpenFOAM.                                                                                                                                                             
                                                                                                                                                                                               
    OpenFOAM is free software: you can redistribute it and/or modify it                                                                                                                         
    under the terms of the GNU General Public License as published by                                                                                                                           
    the Free Software Foundation, either version 3 of the License, or                                                                                                                           
    (at your option) any later version.                                                                                                                                                         
                                                                                                                                                                                               
    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT                                                                                                                     
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or                                                                                                                       
    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License                                                                                                                       
    for more details.                                                                                                                                                                           
                                                                                                                                                                                               
    You should have received a copy of the GNU General Public License                                                                                                                           
    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.                                                                                                                           
                                                                                                                                                                                               
\*---------------------------------------------------------------------------*/
int main(int argc, char *argv[])
{
    return 0;
}

// ************************************************************************* //

There's nothing in Make/options.

And in Make/files:

Code:

Of4Fun.C

EXE = $(FOAM_USER_APPBIN)/Of4Fun.C

Then do this:


Code:

$ wmake

Making dependency list for source file OF4Fun.C
OMPI_CXX="icpc" mpicxx -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -diag-disable 654,1125,2304 -O2 -xCore-AVX2 -ftz -fp-speculation=safe -fp-model source -std=c++11 -no-prec-div  -DNoRepository  -IlnInclude -I. -I/cvmfs/*/easybuild/software/2017/avx2/MPI/intel2016.4/openmpi2.1/openfoam/4.1/OpenFOAM-4.1/src/OpenFOAM/lnInclude -I/cvmfs/*/easybuild/software/2017/avx2/MPI/intel2016.4/openmpi2.1/openfoam/4.1/OpenFOAM-4.1/src/OSspecific/POSIX/lnInclude

What I really want to do is to tell computer not link /src/OpenFOAM and /src/OSspecific from that default path.


Any idea?

alexeym November 29, 2017 16:36

Hi,

These folders are added by wmake, because it is written in the rules (https://github.com/OpenFOAM/OpenFOAM...cc/c%2B%2B#L15).

And since, Make/options file are included into Makefile after preprocessing with cpp, you can redefine variables there. So, to avoid addition of those extra folders, you can add the following line in your Make/options (original - $(LIB_HEADER_DIRS)):

Code:

c++FLAGS    = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) -fPIC


All times are GMT -4. The time now is 01:33.