1#================================================================================================== 2# 3# Makefile for the traits module of the Blaze test suite 4# 5# Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved - All Rights Reserved 6# 7# This file is part of the Blaze library. You can redistribute it and/or modify it under 8# the terms of the New (Revised) BSD License. Redistribution and use in source and binary 9# forms, with or without modification, are permitted provided that the following conditions 10# are met: 11# 12# 1. Redistributions of source code must retain the above copyright notice, this list of 13# conditions and the following disclaimer. 14# 2. Redistributions in binary form must reproduce the above copyright notice, this list 15# of conditions and the following disclaimer in the documentation and/or other materials 16# provided with the distribution. 17# 3. Neither the names of the Blaze development group nor the names of its contributors 18# may be used to endorse or promote products derived from this software without specific 19# prior written permission. 20# 21# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 22# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 23# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 24# SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 26# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 27# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 29# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 30# DAMAGE. 31# 32#================================================================================================== 33 34 35# Including the compiler and library settings 36ifneq ($(MAKECMDGOALS),reset) 37ifneq ($(MAKECMDGOALS),clean) 38-include ../../Makeconfig 39endif 40endif 41 42 43# Setting the source, object and dependency files 44SRC = $(wildcard ./*.cpp) 45DEP = $(SRC:.cpp=.d) 46OBJ = $(SRC:.cpp=.o) 47BIN = $(SRC:.cpp=) 48 49 50# Build rules 51default: all 52 53all: $(BIN) addtrait bandtrait columntrait columnstrait crosstrait decldiagtrait declhermtrait \ 54 declidtrait decllowtrait declstrlowtrait declstrupptrait declsymtrait declunilowtrait \ 55 decluniupptrait declupptrait declzerotrait divtrait elementstrait expandtrait krontrait \ 56 maptrait multtrait reducetrait repeattrait rowtrait rowstrait schurtrait solvetrait \ 57 submatrixtrait subtrait subvectortrait 58 59essential: all 60 61single: all 62 63IncludeTest: IncludeTest.o 64 @$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES) 65 66 67# Internal rules 68addtrait: 69 @echo 70 @echo "Building the AddTrait tests..." 71 @$(MAKE) --no-print-directory -C ./addtrait $(MAKECMDGOALS) 72 73bandtrait: 74 @echo 75 @echo "Building the BandTrait tests..." 76 @$(MAKE) --no-print-directory -C ./bandtrait $(MAKECMDGOALS) 77 78columntrait: 79 @echo 80 @echo "Building the ColumnTrait tests..." 81 @$(MAKE) --no-print-directory -C ./columntrait $(MAKECMDGOALS) 82 83columnstrait: 84 @echo 85 @echo "Building the ColumnsTrait tests..." 86 @$(MAKE) --no-print-directory -C ./columnstrait $(MAKECMDGOALS) 87 88crosstrait: 89 @echo 90 @echo "Building the CrossTrait tests..." 91 @$(MAKE) --no-print-directory -C ./crosstrait $(MAKECMDGOALS) 92 93decldiagtrait: 94 @echo 95 @echo "Building the DeclDiagTrait tests..." 96 @$(MAKE) --no-print-directory -C ./decldiagtrait $(MAKECMDGOALS) 97 98declhermtrait: 99 @echo 100 @echo "Building the DeclHermTrait tests..." 101 @$(MAKE) --no-print-directory -C ./declhermtrait $(MAKECMDGOALS) 102 103declidtrait: 104 @echo 105 @echo "Building the DeclIdTrait tests..." 106 @$(MAKE) --no-print-directory -C ./declidtrait $(MAKECMDGOALS) 107 108decllowtrait: 109 @echo 110 @echo "Building the DeclLowTrait tests..." 111 @$(MAKE) --no-print-directory -C ./decllowtrait $(MAKECMDGOALS) 112 113declstrlowtrait: 114 @echo 115 @echo "Building the DeclStrLowTrait tests..." 116 @$(MAKE) --no-print-directory -C ./declstrlowtrait $(MAKECMDGOALS) 117 118declstrupptrait: 119 @echo 120 @echo "Building the DeclStrUppTrait tests..." 121 @$(MAKE) --no-print-directory -C ./declstrupptrait $(MAKECMDGOALS) 122 123declsymtrait: 124 @echo 125 @echo "Building the DeclSymTrait tests..." 126 @$(MAKE) --no-print-directory -C ./declsymtrait $(MAKECMDGOALS) 127 128declunilowtrait: 129 @echo 130 @echo "Building the DeclUniLowTrait tests..." 131 @$(MAKE) --no-print-directory -C ./declunilowtrait $(MAKECMDGOALS) 132 133decluniupptrait: 134 @echo 135 @echo "Building the DeclUniUppTrait tests..." 136 @$(MAKE) --no-print-directory -C ./decluniupptrait $(MAKECMDGOALS) 137 138declupptrait: 139 @echo 140 @echo "Building the DeclUppTrait tests..." 141 @$(MAKE) --no-print-directory -C ./declupptrait $(MAKECMDGOALS) 142 143declzerotrait: 144 @echo 145 @echo "Building the DeclZeroTrait tests..." 146 @$(MAKE) --no-print-directory -C ./declzerotrait $(MAKECMDGOALS) 147 148divtrait: 149 @echo 150 @echo "Building the DivTrait tests..." 151 @$(MAKE) --no-print-directory -C ./divtrait $(MAKECMDGOALS) 152 153elementstrait: 154 @echo 155 @echo "Building the ElementsTrait tests..." 156 @$(MAKE) --no-print-directory -C ./elementstrait $(MAKECMDGOALS) 157 158expandtrait: 159 @echo 160 @echo "Building the ExpandTrait tests..." 161 @$(MAKE) --no-print-directory -C ./expandtrait $(MAKECMDGOALS) 162 163krontrait: 164 @echo 165 @echo "Building the KronTrait tests..." 166 @$(MAKE) --no-print-directory -C ./krontrait $(MAKECMDGOALS) 167 168maptrait: 169 @echo 170 @echo "Building the MapTrait tests..." 171 @$(MAKE) --no-print-directory -C ./maptrait $(MAKECMDGOALS) 172 173multtrait: 174 @echo 175 @echo "Building the MultTrait tests..." 176 @$(MAKE) --no-print-directory -C ./multtrait $(MAKECMDGOALS) 177 178reducetrait: 179 @echo 180 @echo "Building the ReduceTrait tests..." 181 @$(MAKE) --no-print-directory -C ./reducetrait $(MAKECMDGOALS) 182 183repeattrait: 184 @echo 185 @echo "Building the RepeatTrait tests..." 186 @$(MAKE) --no-print-directory -C ./repeattrait $(MAKECMDGOALS) 187 188rowtrait: 189 @echo 190 @echo "Building the RowTrait tests..." 191 @$(MAKE) --no-print-directory -C ./rowtrait $(MAKECMDGOALS) 192 193rowstrait: 194 @echo 195 @echo "Building the RowsTrait tests..." 196 @$(MAKE) --no-print-directory -C ./rowstrait $(MAKECMDGOALS) 197 198schurtrait: 199 @echo 200 @echo "Building the SchurTrait tests..." 201 @$(MAKE) --no-print-directory -C ./schurtrait $(MAKECMDGOALS) 202 203solvetrait: 204 @echo 205 @echo "Building the SolveTrait tests..." 206 @$(MAKE) --no-print-directory -C ./solvetrait $(MAKECMDGOALS) 207 208submatrixtrait: 209 @echo 210 @echo "Building the SubmatrixTrait tests..." 211 @$(MAKE) --no-print-directory -C ./submatrixtrait $(MAKECMDGOALS) 212 213subtrait: 214 @echo 215 @echo "Building the SubTrait tests..." 216 @$(MAKE) --no-print-directory -C ./subtrait $(MAKECMDGOALS) 217 218subvectortrait: 219 @echo 220 @echo "Building the SubvectorTrait tests..." 221 @$(MAKE) --no-print-directory -C ./subvectortrait $(MAKECMDGOALS) 222 223 224# Cleanup 225reset: 226 @$(RM) $(OBJ) $(BIN) 227 @$(MAKE) --no-print-directory -C ./addtrait reset 228 @$(MAKE) --no-print-directory -C ./bandtrait reset 229 @$(MAKE) --no-print-directory -C ./columntrait reset 230 @$(MAKE) --no-print-directory -C ./columnstrait reset 231 @$(MAKE) --no-print-directory -C ./crosstrait reset 232 @$(MAKE) --no-print-directory -C ./decldiagtrait reset 233 @$(MAKE) --no-print-directory -C ./declhermtrait reset 234 @$(MAKE) --no-print-directory -C ./declidtrait reset 235 @$(MAKE) --no-print-directory -C ./decllowtrait reset 236 @$(MAKE) --no-print-directory -C ./declstrlowtrait reset 237 @$(MAKE) --no-print-directory -C ./declstrupptrait reset 238 @$(MAKE) --no-print-directory -C ./declsymtrait reset 239 @$(MAKE) --no-print-directory -C ./declunilowtrait reset 240 @$(MAKE) --no-print-directory -C ./decluniupptrait reset 241 @$(MAKE) --no-print-directory -C ./declupptrait reset 242 @$(MAKE) --no-print-directory -C ./declzerotrait reset 243 @$(MAKE) --no-print-directory -C ./divtrait reset 244 @$(MAKE) --no-print-directory -C ./elementstrait reset 245 @$(MAKE) --no-print-directory -C ./expandtrait reset 246 @$(MAKE) --no-print-directory -C ./krontrait reset 247 @$(MAKE) --no-print-directory -C ./maptrait reset 248 @$(MAKE) --no-print-directory -C ./multtrait reset 249 @$(MAKE) --no-print-directory -C ./reducetrait reset 250 @$(MAKE) --no-print-directory -C ./repeattrait reset 251 @$(MAKE) --no-print-directory -C ./rowtrait reset 252 @$(MAKE) --no-print-directory -C ./rowstrait reset 253 @$(MAKE) --no-print-directory -C ./schurtrait reset 254 @$(MAKE) --no-print-directory -C ./solvetrait reset 255 @$(MAKE) --no-print-directory -C ./submatrixtrait reset 256 @$(MAKE) --no-print-directory -C ./subtrait reset 257 @$(MAKE) --no-print-directory -C ./subvectortrait reset 258 259clean: 260 @$(RM) $(OBJ) $(BIN) $(DEP) 261 @$(MAKE) --no-print-directory -C ./addtrait clean 262 @$(MAKE) --no-print-directory -C ./bandtrait clean 263 @$(MAKE) --no-print-directory -C ./columntrait clean 264 @$(MAKE) --no-print-directory -C ./columnstrait clean 265 @$(MAKE) --no-print-directory -C ./crosstrait clean 266 @$(MAKE) --no-print-directory -C ./decldiagtrait clean 267 @$(MAKE) --no-print-directory -C ./declhermtrait clean 268 @$(MAKE) --no-print-directory -C ./declidtrait clean 269 @$(MAKE) --no-print-directory -C ./decllowtrait clean 270 @$(MAKE) --no-print-directory -C ./declstrlowtrait clean 271 @$(MAKE) --no-print-directory -C ./declstrupptrait clean 272 @$(MAKE) --no-print-directory -C ./declsymtrait clean 273 @$(MAKE) --no-print-directory -C ./declunilowtrait clean 274 @$(MAKE) --no-print-directory -C ./decluniupptrait clean 275 @$(MAKE) --no-print-directory -C ./declupptrait clean 276 @$(MAKE) --no-print-directory -C ./declzerotrait clean 277 @$(MAKE) --no-print-directory -C ./divtrait clean 278 @$(MAKE) --no-print-directory -C ./elementstrait clean 279 @$(MAKE) --no-print-directory -C ./expandtrait clean 280 @$(MAKE) --no-print-directory -C ./krontrait clean 281 @$(MAKE) --no-print-directory -C ./maptrait clean 282 @$(MAKE) --no-print-directory -C ./multtrait clean 283 @$(MAKE) --no-print-directory -C ./reducetrait clean 284 @$(MAKE) --no-print-directory -C ./repeattrait clean 285 @$(MAKE) --no-print-directory -C ./rowtrait clean 286 @$(MAKE) --no-print-directory -C ./rowstrait clean 287 @$(MAKE) --no-print-directory -C ./schurtrait clean 288 @$(MAKE) --no-print-directory -C ./solvetrait clean 289 @$(MAKE) --no-print-directory -C ./submatrixtrait clean 290 @$(MAKE) --no-print-directory -C ./subtrait clean 291 @$(MAKE) --no-print-directory -C ./subvectortrait clean 292 293 294# Setting the independent commands 295.PHONY: default all essential single reset clean \ 296 addtrait bandtrait columntrait columnstrait crosstrait decldiagtrait declhermtrait \ 297 declidtrait decllowtrait declstrlowtrait declstrupptrait declsymtrait declunilowtrait \ 298 decluniupptrait declupptrait declzerotrait divtrait elementstrait expandtrait krontrait \ 299 maptrait multtrait reducetrait repeattrait rowtrait rowstrait schurtrait solvetrait \ 300 submatrixtrait subtrait subvectortrait 301