75 lines
2.7 KiB
Plaintext
75 lines
2.7 KiB
Plaintext
#----------------------------*- makefile-gmake -*------------------------------
|
|
# ========= |
|
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
# \\ / O peration |
|
|
# \\ / A nd | www.openfoam.com
|
|
# \\/ M anipulation |
|
|
#------------------------------------------------------------------------------
|
|
# Copyright (C) 2011-2016 OpenFOAM Foundation
|
|
# Copyright (C) 2018-2020 OpenCFD Ltd.
|
|
#------------------------------------------------------------------------------
|
|
# License
|
|
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
|
#
|
|
# File
|
|
# wmake/makefiles/files
|
|
#
|
|
# Description
|
|
# A Makefile for the 'options' and 'files' files, used by wmake
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
|
|
GENERAL_RULES = $(WM_DIR)/rules/General
|
|
include $(GENERAL_RULES)/general
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Declare names of make system control files derived from file 'files'
|
|
#------------------------------------------------------------------------------
|
|
|
|
OBJECTS_DIR = $(MAKE_DIR)/$(WM_OPTIONS)
|
|
OPTIONS = $(OBJECTS_DIR)/options
|
|
FILES = $(OBJECTS_DIR)/files
|
|
VARS = $(OBJECTS_DIR)/variables
|
|
SFILES = $(OBJECTS_DIR)/sourceFiles
|
|
|
|
sinclude $(OPTIONS)
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Directory containing the wmake scripts
|
|
#------------------------------------------------------------------------------
|
|
|
|
WM_SCRIPTS = $(WM_DIR)/scripts
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Declare dependency 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)
|
|
ifneq (,$(findstring windows,$(WM_OSTYPE)))
|
|
@$(WM_SCRIPTS)/wmakeWindowsDlOpenLibs $(OPTIONS) >> $(OPTIONS)
|
|
endif
|
|
|
|
$(SFILES): $(MAKE_DIR)/files
|
|
@$(CPP) $(GFLAGS) $(MAKE_DIR)/files | sed -e 's@ *@ @g' > $(FILES)
|
|
# Extracted macro definitions.
|
|
@sed -n -e '/=/p' $(FILES) > $(VARS)
|
|
@echo "SOURCE = \\" > $(SFILES)
|
|
# Remove macros, comments, blank lines, trailing space. Add backslash continuation
|
|
@sed -e '/=/d; /^#/d; /^[ \t]*$$/d' -e 's@[ \t]*$$@ \\@' $(FILES) >> $(SFILES)
|
|
@rm -f $(FILES)
|
|
# Ensure final line is followed by newline. Extra comment for safety.
|
|
@echo "" >> $(SFILES)
|
|
@echo "# sources" >> $(SFILES)
|
|
|
|
|
|
$(VARS): $(SFILES)
|
|
|
|
|
|
#------------------------------------------------------------------------------
|