Skip to content
Snippets Groups Projects
files 2.29 KiB
Newer Older
  • Learn to ignore specific revisions
  • #----------------------------*- makefile-gmake -*------------------------------
    
    # =========                 |
    # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    #  \\    /   O peration     |
    
    #   \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
    
    #    \\/     M anipulation  | Copyright (C) 2018 OpenCFD Ltd.
    
    Mark Olesen's avatar
    Mark Olesen committed
    #------------------------------------------------------------------------------
    
    #     This file is part of OpenFOAM, licensed under GNU General Public License
    #     <http://www.gnu.org/licenses/>.
    
    #     A Makefile for the 'options' and 'files' files, used by wmake
    
    #
    #------------------------------------------------------------------------------
    
    
    GENERAL_RULES   = $(WM_DIR)/rules/General
    
    include $(GENERAL_RULES)/general
    
    
    #------------------------------------------------------------------------------
    
    Henry Weller's avatar
    Henry Weller committed
    # 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
    
    #------------------------------------------------------------------------------
    
    # 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)
    
    	# 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)
    
    	# Ensure final line is followed by newline. Extra comment for safety.
    
    	@echo "# sources" >> $(SFILES)
    
    
    #------------------------------------------------------------------------------