mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-12-28 03:37:59 +00:00
- only include compiler-family rules for C++ once STYLE: minor cleanup of wmake/src Makefile
108 lines
3.5 KiB
Makefile
108 lines
3.5 KiB
Makefile
#----------------------------*- 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) 2017-2019 OpenCFD Ltd.
|
|
#------------------------------------------------------------------------------
|
|
# 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
|
|
# Makefile
|
|
#
|
|
# Description
|
|
# Makefile used to compile wmake utilities.
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Use POSIX shell
|
|
#------------------------------------------------------------------------------
|
|
|
|
SHELL = /bin/sh
|
|
|
|
#------------------------------------------------------------------------------
|
|
# No default suffix rules used
|
|
#------------------------------------------------------------------------------
|
|
|
|
.SUFFIXES:
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Set compilation and dependency building rules
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Locally set optimized compilation
|
|
WM_COMPILE_OPTION = Opt
|
|
|
|
GENERAL_RULES = $(WM_DIR)/rules/General
|
|
include $(GENERAL_RULES)/general
|
|
|
|
archHost := $(WM_ARCH)$(WM_COMPILER)
|
|
archTarget := $(shell basename $(WMAKE_BIN))
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Targets
|
|
#------------------------------------------------------------------------------
|
|
|
|
.PHONY: all clean message old
|
|
|
|
all: $(WMAKE_BIN)/lemon$(EXT_EXE) $(WMAKE_BIN)/wmkdepend$(EXT_EXE) message
|
|
|
|
# Flex-based processing
|
|
old: $(WMAKE_BIN)/wmkdep$(EXT_EXE)
|
|
|
|
message:
|
|
ifneq ($(archHost),$(archTarget))
|
|
@echo "built wmake-bin ($(archTarget)) for $(archHost) host"
|
|
else
|
|
@echo "built wmake-bin ($(archTarget))"
|
|
endif
|
|
|
|
clean:
|
|
@echo "clean wmake-bin ($(archTarget))"
|
|
@rm -rf $(WMAKE_BIN)
|
|
@rmdir $(shell dirname $(WMAKE_BIN)) 2>/dev/null || true
|
|
|
|
$(WMAKE_BIN)/lemon$(EXT_EXE): lemon.c
|
|
@mkdir -p $(WMAKE_BIN)
|
|
$(call QUIET_MESSAGE,lemon,$(<F))
|
|
$(cc) $(cFLAGS) $(<F) -o $@
|
|
|
|
$(WMAKE_BIN)/wmkdep$(EXT_EXE): wmkdep.l
|
|
@mkdir -p $(WMAKE_BIN)
|
|
$(call QUIET_MESSAGE,flex,$(<F))
|
|
$E flex -o $@.c $(<F) && $(cc) $(cFLAGS) $@.c -o $@
|
|
@rm -f $@.c
|
|
|
|
$(WMAKE_BIN)/wmkdepend$(EXT_EXE): wmkdepend.cc
|
|
@mkdir -p $(WMAKE_BIN)
|
|
$(call QUIET_MESSAGE,wmkdepend,$(<F))
|
|
$E $(CC) $(c++FLAGS) $(<F) -o $@
|
|
|
|
#$(WMAKE_BIN)/wmkdepend$(EXT_EXE): wmkdepend.rl
|
|
# @mkdir -p $(WMAKE_BIN)
|
|
# $(call QUIET_MESSAGE,ragel,$(<F))
|
|
# $E ragel -G2 -o $@.cc $(<F) && $(CC) $(c++FLAGS) $@.cc -o $@
|
|
# @rm -f $@.cc
|
|
|
|
#------------------------------------------------------------------------------
|