85 lines · 3.0 KB · Text
RawDownload
# ----------------------------------------------------------------------------## GNU Make Standard Library (GMSL)## A library of functions to be used with GNU Make's $(call) that# provides functionality not available in standard GNU Make.## Copyright (c) 2005-2024 John Graham-Cumming## This file is part of GMSL## Redistribution and use in source and binary forms, with or without# modification, are permitted provided that the following conditions# are met:## Redistributions of source code must retain the above copyright# notice, this list of conditions and the following disclaimer.# # Redistributions in binary form must reproduce the above copyright# notice, this list of conditions and the following disclaimer in the# documentation and/or other materials provided with the distribution.## Neither the name of the John Graham-Cumming nor the names of its# contributors may be used to endorse or promote products derived from# this software without specific prior written permission.## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE# POSSIBILITY OF SUCH DAMAGE.## ---------------------------------------------------------------------------- # Determine if the library has already been included and if so don't# bother including it again ifndef __gmsl_included # Standard definitions for true and false.  true is any non-empty# string, false is an empty string. These are intended for use with# $(if). true  := Tfalse := # ----------------------------------------------------------------------------# Function:  not# Arguments: 1: A boolean value# Returns:   Returns the opposite of the arg. (true -> false, false -> true)# ----------------------------------------------------------------------------not = $(if $1,$(false),$(true)) # Prevent reinclusion of the library __gmsl_included := $(true) # Try to determine where this file is located.  If the caller did# include /foo/gmsl then extract the /foo/ so that __gmsl gets# included transparently __gmsl_root := ifneq ($(MAKEFILE_LIST),)__gmsl_root := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) # If there are any spaces in the path in __gmsl_root then give up ifeq (1,$(words $(__gmsl_root)))__gmsl_root := $(patsubst %gmsl,%,$(__gmsl_root))endif endif include $(__gmsl_root)__gmsl endif # __gmsl_included 

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t