The Makefiles are now in the makefiles sub-directory The "-f | -force" option in wmakeLnInclude is now "-u | -update" for consistency with the other scripts. The "Usage" entry in the headers is now consistently formatted in all scripts.
78 lines
3.0 KiB
Makefile
78 lines
3.0 KiB
Makefile
#-------------------------------*- makefile -*---------------------------------
|
|
# ========= |
|
|
# \\ / 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/>.
|
|
#
|
|
# File
|
|
# wmake/makefiles/files
|
|
#
|
|
# Description
|
|
# A Makefile for the 'options' and 'files' files, used by wmake
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
|
|
GENERAL_RULES = $(WM_DIR)/rules/General
|
|
RULES = $(WM_DIR)/rules/$(WM_ARCH)$(WM_COMPILER)
|
|
OBJECTS_DIR = $(MAKE_DIR)/$(WM_OPTIONS)
|
|
|
|
include $(GENERAL_RULES)/general
|
|
include $(RULES)/general
|
|
|
|
#------------------------------------------------------------------------------
|
|
# declare names of make system control files derived from file 'files'
|
|
#------------------------------------------------------------------------------
|
|
|
|
OPTIONS = $(OBJECTS_DIR)/options
|
|
FILES = $(OBJECTS_DIR)/files
|
|
VARS = $(OBJECTS_DIR)/variables
|
|
SFILES = $(OBJECTS_DIR)/sourceFiles
|
|
|
|
-include $(OPTIONS)
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Declare dependecy of all make system files on FILES
|
|
# Causes all derived files to be remade if any are changed or missing
|
|
#------------------------------------------------------------------------------
|
|
|
|
all : $(OPTIONS) $(SFILES) $(VARS)
|
|
|
|
$(OPTIONS) : $(MAKE_DIR)/options
|
|
@$(CPP) $(GFLAGS) $(MAKE_DIR)/options | sed -e 's@ *@ @g' > $(OPTIONS)
|
|
|
|
$(SFILES): $(MAKE_DIR)/files
|
|
@$(CPP) $(GFLAGS) $(MAKE_DIR)/files | sed -e 's@ *@ @g' > $(FILES)
|
|
# Find all macro definitions in the files
|
|
@grep "=" $(FILES) > $(VARS)
|
|
echo "SOURCE = " > $(SFILES)
|
|
# Remove all macro definitions from the files list
|
|
@grep -v "=" $(FILES) >> $(SFILES)
|
|
@rm -f $(FILES)
|
|
# Add a newline to files to ensure the last line is followed by a newline
|
|
@echo "" >> $(SFILES)
|
|
# Remove commented lines, blank lines, and trailing blanks from files
|
|
@sed -i -e '/^#/ d' -e '/^[ \t]*$$/ d' -e 's,[ \t]*$$,,' $(SFILES)
|
|
# Add backslashes
|
|
@sed -i -e 's,$$, \\,' -e '$$s,\\,,' $(SFILES)
|
|
|
|
$(VARS): $(SFILES)
|
|
|
|
#------------------------------------------------------------------------------
|