# $Id: if-expr 2413 2010-09-11 17:43:04Z bird $ -*-perl-*- ## @file # $(if-expr expr, if-expand, else-expand) # # # Copyright (c) 2008-2010 knut st. osmundsen # # This file is part of kBuild. # # kBuild 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. # # kBuild 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 kBuild. If not, see # # $description = "Tests the \$(if-expr ) function"; $details = "A few simple tests, nothing spectacular. More comprehensive testing is preformed by functions/expr and features/ifcond."; if ($is_kmk) { # TEST #0 - check that the feature is present. # -------------------------------------------- run_make_test(' ifneq ($(if-expr 1+1,1,0),1) $(error sub-test 0 failed) endif .PHONY: all all: ; @: ', '', ''); # TEST #1 - basics, the $(expr test checks the rest). # --------------------------------------------------- run_make_test(' IF-EXPAND = 7 ELSE-EXPAND = -7 ifneq ($(if-expr 1==1,$(IF-EXPAND),$(ELSE-EXPAND)),7) $(error sub-test 0 failed) endif ifneq ($(if-expr 1!=1,$(IF-EXPAND),$(ELSE-EXPAND)),-7) $(error sub-test 1 failed) endif .PHONY: all all: ; @: ', '', ''); # TEST #2 - Checks that the optional 3 argument can be omitted. # ------------------------------------------------------------- run_make_test(' ifneq ($(if-expr 1==1,true),true) $(error sub-test 0 failed) endif ifneq ($(if-expr 2==1,true),) $(error sub-test 0 failed) endif .PHONY: all all: ; @: ', '', ''); } # Indicate that we're done. 1;