Mercurial > repos > fubar > microsatbed
comparison seqrequester/src/Makefile @ 1:1085e094cf5f draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/microsatbed commit 7ceb6658309a7ababe622b5d92e729e5470e22f0-dirty
| author | fubar |
|---|---|
| date | Sat, 13 Jul 2024 12:39:06 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 0:dd71d3167476 | 1:1085e094cf5f |
|---|---|
| 1 # -*- Makefile -*- | |
| 2 # | |
| 3 # boilermake: A reusable, but flexible, boilerplate Makefile. | |
| 4 # | |
| 5 # Copyright 2008, 2009, 2010 Dan Moulding, Alan T. DeKok | |
| 6 # | |
| 7 # This program is free software: you can redistribute it and/or modify | |
| 8 # it under the terms of the GNU General Public License as published by | |
| 9 # the Free Software Foundation, either version 3 of the License, or | |
| 10 # (at your option) any later version. | |
| 11 # | |
| 12 # This program is distributed in the hope that it will be useful, | |
| 13 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 15 # GNU General Public License for more details. | |
| 16 # | |
| 17 # You should have received a copy of the GNU General Public License | |
| 18 # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
| 19 | |
| 20 # | |
| 21 # Significantly modified for Marbl projects. Get the original from | |
| 22 # https://github.com/dmoulding/boilermake | |
| 23 # | |
| 24 | |
| 25 include Makefile.boilermake | |
| 26 | |
| 27 # | |
| 28 # Check that Make and git are compatible, fail if not. | |
| 29 # | |
| 30 | |
| 31 define TEST_VERSION | |
| 32 path := $$(shell which ${1}) | |
| 33 vers := $$(shell ${1} --version | head -n 1 | cut -d\ -f ${2}) | |
| 34 versn := $$(shell echo $${vers} | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$$$/&00/') | |
| 35 min := $$(shell echo ${3} | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$$$/&00/') | |
| 36 | |
| 37 ifeq ($$(shell expr $${versn} \>= $${min}), 0) | |
| 38 $$(error '$${path}' version '$${vers}' too old; at least version $3 is required) | |
| 39 endif | |
| 40 endef | |
| 41 | |
| 42 $(eval $(call TEST_VERSION, git, 3, 2.12)) | |
| 43 $(eval $(call TEST_VERSION, ${MAKE}, 3, 3.81)) | |
| 44 | |
| 45 # | |
| 46 # Initialize submodules if they aren't here yet. | |
| 47 # - if the submodule directory exists and it is empty, then have | |
| 48 # git fetch the submodule (with some fancy logging). | |
| 49 # | |
| 50 | |
| 51 define INIT_SUBMODULE | |
| 52 ifeq ($$(wildcard ${1}),${1}) | |
| 53 ifeq ($$(wildcard ${1}/*),) | |
| 54 $$(info Fetching submodule '${1}') | |
| 55 $$(shell cd $$(dir ${1}) ; git submodule update --init ${2} $$(notdir ${1}) 2>&1 | awk '{ print " - "$$$$0 }' 1>&2) | |
| 56 $$(info ) | |
| 57 endif | |
| 58 endif | |
| 59 endef | |
| 60 | |
| 61 $(eval $(call INIT_SUBMODULE,utility,)) | |
| 62 #(eval $(call INIT_SUBMODULE,meryl,)) | |
| 63 #(eval $(call INIT_SUBMODULE,seqrequester,)) | |
| 64 | |
| 65 # | |
| 66 # Set compiler and flags based on operating system and compiler toolchain. | |
| 67 # This must be called AFTER the compiler is chosen, and after the decision | |
| 68 # to include stack trace support is make. | |
| 69 # | |
| 70 # User-supplied flags are handled: | |
| 71 # If a parameter to make ("make CXXFLAGS=whatever"): | |
| 72 # flags are used exclusively; no default flags are supplied | |
| 73 # If an environment variable ("CXXFLAGS=whatever make"): | |
| 74 # flags are appended to the end of the default flags. | |
| 75 # | |
| 76 # Parameters to the function: | |
| 77 # $1 - extra flags for CFLAGS/CXXFLAGS (e.g., -I/path) | |
| 78 # $2 - extra flags for LDFLAGS (e.g., -L/path) | |
| 79 # | |
| 80 # Options: | |
| 81 # BUILDOPTIMIZED will disable debug symbols (leaving it just optimized) | |
| 82 # BUILDDEBUG will disable optimization (leaving it just with debug symbols) | |
| 83 # BUILDSTACKTRACE will enable stack trace on crashes, only works for Linux | |
| 84 # set to 0 on command line to disable (it's enabled by default for Linux) | |
| 85 # | |
| 86 # BUILDPROFILE used to add -pg to LDFLAGS, and remove -D_GLIBCXX_PARALLE from CXXFLAGS and LDFLAGS, | |
| 87 # and remove -fomit-frame-pointer from CXXFLAGS. It added a bunch of complication and wasn't | |
| 88 # really used. | |
| 89 # | |
| 90 # BUILDJEMALLOC will enable jemalloc library support. | |
| 91 # | |
| 92 define SET_DEFAULT_FLAGS | |
| 93 CFLAGSUSER := $${CFLAGS} | |
| 94 CXXFLAGSUSER := $${CXXFLAGS} | |
| 95 LDFLAGSUSER := $${LDFLAGS} | |
| 96 | |
| 97 # Figure out which tool chain we're using and set up initial flags. | |
| 98 # - GCC seems to want '-dumpfullversion' instead of '-dumpversion' | |
| 99 # to return the full X.Y.Z version number. | |
| 100 # - GCC has deprecated c++2a but gcc-9 doesn't know the correct | |
| 101 # option c++20. | |
| 102 | |
| 103 ifeq ($$(shell echo `$$(CXX) --version 2>&1 | grep -c clang`), 0) | |
| 104 TOOLCHAIN := GNU | |
| 105 TOOLCHAINV := $$(shell ${CXX} -dumpfullversion) | |
| 106 CFLAGS := -pthread -fopenmp -fPIC -std=c17 ${1} | |
| 107 CXXFLAGS := -pthread -fopenmp -fPIC -std=c++2a ${1} | |
| 108 LDFLAGS := -pthread -fopenmp ${2} -lm | |
| 109 else | |
| 110 TOOLCHAIN := LLVM | |
| 111 TOOLCHAINV := $$(shell ${CXX} -dumpversion) | |
| 112 CFLAGS := -pthread -fopenmp -fPIC -std=c17 ${1} | |
| 113 CXXFLAGS := -pthread -fopenmp -fPIC -std=c++20 ${1} | |
| 114 LDFLAGS := -pthread -fopenmp ${2} -lm | |
| 115 endif | |
| 116 | |
| 117 # Build up our preferred set of flags. | |
| 118 | |
| 119 ifeq ($$(BUILDOPTIMIZED), 1) # Enable debugging and add debug-aware | |
| 120 else # optimization unless BUILDOPTIMIZED is set. | |
| 121 CXXFLAGS += -Og -g3 | |
| 122 CFLAGS += -Og -g3 | |
| 123 endif | |
| 124 | |
| 125 ifeq ($$(BUILDDEBUG), 1) # Add full optimization unless BUILDDEBUG is set. | |
| 126 else ifeq ($$(TOOLCHAIN), GNU) | |
| 127 CXXFLAGS += -O4 -funroll-loops -finline-functions -fomit-frame-pointer -fexpensive-optimizations | |
| 128 CFLAGS += -O4 -funroll-loops -finline-functions -fomit-frame-pointer -fexpensive-optimizations | |
| 129 else ifeq ($$(TOOLCHAIN), LLVM) | |
| 130 CXXFLAGS += -O3 -funroll-loops -finline-functions -fomit-frame-pointer | |
| 131 CFLAGS += -O3 -funroll-loops -finline-functions -fomit-frame-pointer | |
| 132 else | |
| 133 CXXFLAGS += -O3 | |
| 134 CFLAGS += -O3 | |
| 135 endif | |
| 136 | |
| 137 ifeq ($${BUILDSTACKTRACE}, 1) # Add (or disable) stacktrace support. | |
| 138 CXXFLAGS += -DLIBBACKTRACE | |
| 139 CFLAGS += -DLIBBACKTRACE | |
| 140 else | |
| 141 CXXFLAGS += -DNOBACKTRACE | |
| 142 CFLAGS += -DNOBACKTRACE | |
| 143 endif | |
| 144 | |
| 145 ifeq ($$(BUILDJEMALLOC), 1) # Add jemalloc support. | |
| 146 CXXFLAGS += -DJEMALLOC -I`jemalloc-config --includedir` | |
| 147 LDFLAGS += -L`jemalloc-config --libdir` -Wl,-rpath,`jemalloc-config --libdir` -ljemalloc `jemalloc-config --libs` | |
| 148 endif | |
| 149 | |
| 150 ifeq ($$(MACHINETYPE), amd64) # Add SIMD support (htslib and meryl-utility need this) | |
| 151 CFLAGS += -mxsave | |
| 152 CXXFLAGS += -mxsave | |
| 153 endif | |
| 154 | |
| 155 # Enable gobs of warnings, but then disable some of the annoying ones, a | |
| 156 # few of which are compiler dependent. | |
| 157 | |
| 158 DEFAULTWARNINGS = | |
| 159 #EFAULTWARNINGS += -DMACHINETYPE_${MACHINETYPE} | |
| 160 #EFAULTWARNINGS += -pedantic | |
| 161 DEFAULTWARNINGS += -Wall -Wextra -Wformat | |
| 162 DEFAULTWARNINGS += -Wno-char-subscripts | |
| 163 DEFAULTWARNINGS += -Wno-sign-compare | |
| 164 DEFAULTWARNINGS += -Wno-unused-function | |
| 165 DEFAULTWARNINGS += -Wno-unused-parameter | |
| 166 DEFAULTWARNINGS += -Wno-unused-variable | |
| 167 DEFAULTWARNINGS += -Wno-deprecated-declarations | |
| 168 #EFAULTWARNINGS += -Wno-format -Wno-format-truncation # Disable 'sprintf() into possibly smaller buffer' | |
| 169 | |
| 170 ifeq ($$(TOOLCHAIN), LLVM) | |
| 171 CFLAGS += $${DEFAULTWARNINGS} -Wno-format | |
| 172 CXXFLAGS += $${DEFAULTWARNINGS} -Wno-format | |
| 173 endif | |
| 174 | |
| 175 ifeq ($$(TOOLCHAIN), GNU) | |
| 176 CFLAGS += $${DEFAULTWARNINGS} -Wno-format-truncation | |
| 177 CXXFLAGS += $${DEFAULTWARNINGS} -Wno-format-truncation | |
| 178 endif | |
| 179 | |
| 180 DEFAULTWARNINGS = | |
| 181 | |
| 182 # Append user-supplied flags, if any exist. | |
| 183 | |
| 184 ifneq ($${CFLAGSUSER}, ) | |
| 185 CFLAGS += $${CFLAGSUSER} | |
| 186 endif | |
| 187 ifneq ($${CXXFLAGSUSER}, ) | |
| 188 CXXFLAGS += $${CXXFLAGSUSER} | |
| 189 endif | |
| 190 ifneq ($${LDFLAGSUSER}, ) | |
| 191 LDFLAGS += $${LDFLAGSUSER} | |
| 192 endif | |
| 193 endef | |
| 194 | |
| 195 | |
| 196 # | |
| 197 # Linux config. | |
| 198 # | |
| 199 ifeq (${OSTYPE}, Linux) | |
| 200 CC ?= gcc | |
| 201 CXX ?= g++ | |
| 202 | |
| 203 BUILDSTACKTRACE ?= 1 | |
| 204 | |
| 205 $(eval $(call SET_DEFAULT_FLAGS,,)) | |
| 206 endif | |
| 207 | |
| 208 | |
| 209 # | |
| 210 # FreeBSD config. | |
| 211 # | |
| 212 # If building in the FreeBSD ports system, use the architecture as defined | |
| 213 # there (technically, -p, not -m) and assume compiler and most options are | |
| 214 # already defined correctly. | |
| 215 # | |
| 216 # We used to (for non-ports builds) default to gcc, mostly because the rpath | |
| 217 # was necessary. But clang is working well, and rpath doesn't seem to be | |
| 218 # necessary on FreeBSD13. | |
| 219 # ifeq ($(origin CXX), default) | |
| 220 # CC = gcc9 | |
| 221 # CXX = g++9 | |
| 222 # CCLIB = -rpath /usr/local/lib/gcc9 | |
| 223 # endif | |
| 224 # | |
| 225 ifeq (${OSTYPE}, FreeBSD) | |
| 226 ifeq (${CANU_BUILD_ENV}, ports) | |
| 227 MACHINETYPE=${ARCH} | |
| 228 | |
| 229 CXXFLAGS += -pthread -fopenmp -fPIC | |
| 230 CFLAGS += -pthread -fopenmp -fPIC | |
| 231 LDFLAGS += -pthread -fopenmp -lm | |
| 232 else | |
| 233 CC ?= cc | |
| 234 CXX ?= c++ | |
| 235 | |
| 236 BUILDSTACKTRACE ?= 1 | |
| 237 | |
| 238 $(eval $(call SET_DEFAULT_FLAGS,,)) | |
| 239 endif | |
| 240 endif | |
| 241 | |
| 242 | |
| 243 # | |
| 244 # MacOS config. | |
| 245 # | |
| 246 # The default compiler in MacOS _still_ doesn't support OpenMP, so | |
| 247 # we try a bunch of common alternate compiler names and use the first | |
| 248 # one that exists. | |
| 249 # | |
| 250 # If from MacPorts: If from homebrew: | |
| 251 # port install gcc9 brew install gcc | |
| 252 # port select gcc mp-gcc9 brew install llvm | |
| 253 # | |
| 254 # Homebrew calls its binaries clang and clang++ and uses directories to | |
| 255 # differentiate. (While there is clang-16, there is no clang++-16, and we | |
| 256 # use clang/clang++ for consistency.) | |
| 257 # /opt/homebrew/opt/gcc@11/bin/gcc-12 /opt/homebrew/opt/llvm@16/bin/clang | |
| 258 # /opt/homebrew/opt/gcc@11/bin/g++-12 /opt/homebrew/opt/llvm@16/bin/clang++ | |
| 259 # | |
| 260 # MacPorts puts its binaries in the global bin directory with a suffix to | |
| 261 # differentiate. | |
| 262 # /opt/local/bin/gcc-mp-16 /opt/local/bin/clang-mp-16 | |
| 263 # /opt/local/bin/g++-mp-16 /opt/local/bin/clang++-mp-16 | |
| 264 # | |
| 265 define FIND_MACOS_COMPILER | |
| 266 ifeq ($$(CC), cc) | |
| 267 ifneq ($$(wildcard $${BREW}/opt/gcc@${1}/bin/gcc-${1}), ) | |
| 268 ifneq ($$(wildcard $${BREW}/opt/gcc@${1}/bin/g++-${1}), ) | |
| 269 #$$(info Detected gcc-${1} installed via Homebrew.) | |
| 270 CC=$$(abspath $${BREW}/opt/gcc@${1}/bin/gcc-${1}) | |
| 271 CXX=$$(abspath $${BREW}/opt/gcc@${1}/bin/g++-${1}) | |
| 272 endif | |
| 273 endif | |
| 274 endif | |
| 275 | |
| 276 ifeq ($$(CC), cc) | |
| 277 ifneq ($$(wildcard $${BREW}/opt/llvm@${1}/bin/clang), ) | |
| 278 ifneq ($$(wildcard $${BREW}/opt/llvm@${1}/bin/clang++), ) | |
| 279 #$$(info Detected llvm-${1} installed via Homebrew.) | |
| 280 CC=$$(abspath $${BREW}/opt/llvm@${1}/bin/clang) | |
| 281 CXX=$$(abspath $${BREW}/opt/llvm@${1}/bin/clang++) | |
| 282 endif | |
| 283 endif | |
| 284 endif | |
| 285 | |
| 286 ifeq ($$(CC), cc) | |
| 287 ifneq ($$(wildcard $${PORT}/bin/gcc-mp-${1}), ) | |
| 288 ifneq ($$(wildcard $${PORT}/bin/g++-mp-${1}), ) | |
| 289 #$$(info Detected gcc-${1} installed via MacPorts.) | |
| 290 CC=$$(abspath $${PORT}/bin/gcc-mp-${1}) | |
| 291 CXX=$$(abspath $${PORT}/bin/g++-mp-${1}) | |
| 292 endif | |
| 293 endif | |
| 294 endif | |
| 295 | |
| 296 ifeq ($$(CC), cc) | |
| 297 ifneq ($$(wildcard $${PORT}/bin/clang-mp-${1}), ) | |
| 298 ifneq ($$(wildcard $${PORT}/bin/clang++-mp-${1}), ) | |
| 299 #$$(info Detected llvm-${1} installed via MacPorts.) | |
| 300 CC=$$(abspath $${PORT}/bin/clang-mp-${1}) | |
| 301 CXX=$$(abspath $${PORT}/bin/clang++-mp-${1}) | |
| 302 endif | |
| 303 endif | |
| 304 endif | |
| 305 endef | |
| 306 | |
| 307 ifeq (${OSTYPE}, Darwin) | |
| 308 BREW := $(abspath $(lastword $(shell brew 2>/dev/null config | grep HOMEBREW_PREFIX))) | |
| 309 PORT := $(abspath $(dir $(abspath $(dir $(shell which port))))) | |
| 310 | |
| 311 #$(info Detected Homebrew in '${BREW}') | |
| 312 #$(info Detected MacPorts in '${PORT}') | |
| 313 | |
| 314 $(eval $(call FIND_MACOS_COMPILER,20)) | |
| 315 $(eval $(call FIND_MACOS_COMPILER,19)) | |
| 316 $(eval $(call FIND_MACOS_COMPILER,18)) | |
| 317 $(eval $(call FIND_MACOS_COMPILER,17)) | |
| 318 $(eval $(call FIND_MACOS_COMPILER,16)) | |
| 319 $(eval $(call FIND_MACOS_COMPILER,15)) | |
| 320 $(eval $(call FIND_MACOS_COMPILER,14)) | |
| 321 $(eval $(call FIND_MACOS_COMPILER,13)) | |
| 322 $(eval $(call FIND_MACOS_COMPILER,12)) | |
| 323 $(eval $(call FIND_MACOS_COMPILER,11)) | |
| 324 $(eval $(call FIND_MACOS_COMPILER,10)) | |
| 325 $(eval $(call FIND_MACOS_COMPILER,9)) | |
| 326 $(eval $(call FIND_MACOS_COMPILER,8)) | |
| 327 | |
| 328 $(eval $(call SET_DEFAULT_FLAGS,,)) | |
| 329 endif | |
| 330 | |
| 331 | |
| 332 # | |
| 333 # Cygwin config. | |
| 334 # | |
| 335 ifneq (,$(findstring CYGWIN, ${OSTYPE})) | |
| 336 CC ?= gcc | |
| 337 CXX ?= g++ | |
| 338 | |
| 339 $(eval $(call SET_DEFAULT_FLAGS,,)) | |
| 340 endif | |
| 341 | |
| 342 | |
| 343 # | |
| 344 # Test a small compile. | |
| 345 # | |
| 346 # This has only failed on MacOS with default compilers that do not support | |
| 347 # -fopenmp. | |
| 348 # | |
| 349 # Note that .SHELLSTATUS was introduced in Make 4.2 but stupid MacOS ships | |
| 350 # with make 3.81, so we need to do the success/fail test the hard way. On | |
| 351 # the otherhand, this does mean we can clean up temporary files right after. | |
| 352 # | |
| 353 | |
| 354 COMPILETEST := $(shell echo "int main(void) { return 0; }" | ${CXX} ${CXXFLAGS} ${LDFLAGS} -x c++ -o /tmp/test-fopenmp - && echo pass ; rm -f /tmp/test-fopenmp /tmp/test-fopenmp.C) | |
| 355 | |
| 356 ifneq ($(COMPILETEST), pass) | |
| 357 $(warning ) | |
| 358 $(warning Unable to compile OpenMP programs with with:) | |
| 359 $(warning $_ ${TOOLCHAIN} ${CXX} ${TOOLCHAINV}.) | |
| 360 $(warning $_ CXXFLAGS flags:) | |
| 361 $(foreach FLAG,${CXXFLAGS},$(warning $_ ${FLAG})) | |
| 362 $(warning $_ LDFLAGS flags:) | |
| 363 $(foreach FLAG,${LDFLAGS},$(warning $_ ${FLAG})) | |
| 364 $(warning Please install GCC or LLVM with OpenMP support and) | |
| 365 $(warning specify this compiler on the command line, e.g.,) | |
| 366 $(warning $_ make CC=/path/to/gcc CXX=/path/to/g++) | |
| 367 $(warning ) | |
| 368 $(error Unsupported compiler) | |
| 369 endif | |
| 370 | |
| 371 # | |
| 372 # Define the two exported targets, 'all' and 'clean' as phony rules that | |
| 373 # point to the real rules. This is done before including main.mk so that it | |
| 374 # can define any weird one-off special-case targets without them becoming the | |
| 375 # first (and thus default) rule. | |
| 376 # | |
| 377 # Then recursively include user-supplied submakefiles. | |
| 378 # | |
| 379 # Then define the real 'all' and 'clean' targets. | |
| 380 # | |
| 381 # Targets 'doall' and 'doclean' are used internally to add more targets to | |
| 382 # the global build. 'doclean-final' is a trouble maker because it needs to | |
| 383 # run after all the other 'doclean' steps, and the only way to ensure that is | |
| 384 # to give it a new target. | |
| 385 # | |
| 386 | |
| 387 .PHONY: all | |
| 388 all: doall | |
| 389 | |
| 390 .PHONY: clean | |
| 391 clean: doclean-final | |
| 392 | |
| 393 $(eval $(call INCLUDE_SUBMAKEFILE,main.mk)) | |
| 394 | |
| 395 .PHONY: doall | |
| 396 doall: $(addprefix ${TARGET_DIR}/,${ALL_TGTS}) | |
| 397 @echo "" | |
| 398 @echo "Success!" | |
| 399 @echo "${MODULE} installed in ${TARGET_DIR}/bin/${MODULE}" | |
| 400 @echo "" | |
| 401 | |
| 402 .PHONY: doclean-final | |
| 403 doclean-final: doclean | |
| 404 if [ -d ${TARGET_DIR} ] ; then find ${TARGET_DIR} -type d -print | sort -r | xargs -n 100 rmdir ; fi | |
| 405 @echo "" | |
| 406 @echo "Cleaned." | |
| 407 @echo "" | |
| 408 | |
| 409 .PHONY: doclean | |
| 410 doclean: | |
| 411 | |
| 412 # | |
| 413 # Let boilermake do its thing. | |
| 414 # | |
| 415 | |
| 416 $(eval $(call BOILERMAKE)) | |
| 417 | |
| 418 # | |
| 419 # Generate a version number. This needs to come AFTER submakefiles are | |
| 420 # included (so we know what ${MODULE} is) but before we build anything | |
| 421 # (because this generates 'version.H' and also prints information about | |
| 422 # submodule versions). | |
| 423 # | |
| 424 # But, because make helpfully squashes all the lines to a single line we | |
| 425 # need to do something funky and write the version information for C++ and | |
| 426 # for make to one file - which then is included here and in source files. | |
| 427 # Makefile.boilermake adds this file as a dependency to ALL source files. | |
| 428 # | |
| 429 # For projects that include meryl-utility as a submodule (the usual case) | |
| 430 # write version.H in the submodule src/ directory; for meryl-utility itself, | |
| 431 # write in the current directory. | |
| 432 # - This _should_ be indentifying if the submodule exists in | |
| 433 # utility/src, but on the very first build (when the submodules | |
| 434 # are initialized above) a file-based detection was reliably failing, | |
| 435 # as if `ifeq ($(wildcard utility/src), utility/src)` was tested | |
| 436 # before the submodule was init'd. Rather than deal with all | |
| 437 # that baloney, we just assume that any build using this build | |
| 438 # system is either meryl-utility itself or something that uses it. | |
| 439 # | |
| 440 | |
| 441 VERSION_H := $(shell ./${VERSION_H:.H=.pl} ${MODULE} ${VERSION} ${VERSION_H}) | |
| 442 | |
| 443 ifeq (${VERSION_H}, ) | |
| 444 $(error Failed to create version.H, possibly missing the 'meryl-utility' submodule) | |
| 445 endif | |
| 446 | |
| 447 include ${VERSION_H} | |
| 448 | |
| 449 # | |
| 450 # Log what compiler we're using and start the build. | |
| 451 # | |
| 452 | |
| 453 $(info ${BUILDING}) | |
| 454 $(info For '${OSTYPE}' '${OSVERSION}' as '${MACHINETYPE}' into '${TARGET_DIR}/{bin,obj}'.) | |
| 455 $(info Using ${TOOLCHAIN} '$(shell which ${CXX})' version '${TOOLCHAINV}'.) | |
| 456 ifneq (${CFLAGSUSER},) | |
| 457 $(info Using user-supplied CFLAGS '${CFLAGSUSER}'.) | |
| 458 endif | |
| 459 ifneq (${CXXFLAGSUSER},) | |
| 460 $(info Using user-supplied CXXFLAGS '${CXXFLAGSUSER}'.) | |
| 461 endif | |
| 462 ifneq (${LDFLAGSUSER},) | |
| 463 $(info Using user-supplied LDFLAGS '${LDFLAGSUSER}'.) | |
| 464 endif | |
| 465 $(info ) |
