File: files

package info (click to toggle)
openfoam 4.1%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 163,028 kB
  • ctags: 58,990
  • sloc: cpp: 830,760; sh: 10,227; ansic: 8,215; xml: 745; lex: 437; awk: 194; sed: 91; makefile: 77; python: 18
file content (77 lines) | stat: -rw-r--r-- 2,994 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#-------------------------------*- makefile -*---------------------------------
# =========                 |
# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
#  \\    /   O peration     |
#   \\  /    A nd           | Copyright (C) 2011-2016 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
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

-include $(OPTIONS)


#------------------------------------------------------------------------------
# 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)

$(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)


#------------------------------------------------------------------------------