121 lines
3.7 KiB
Makefile
121 lines
3.7 KiB
Makefile
# Optional configure Makefile overrides for htslib.
|
|
#
|
|
# Copyright (C) 2015-2017, 2019, 2023 Genome Research Ltd.
|
|
#
|
|
# Author: John Marshall <jm18@sanger.ac.uk>
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
# in the Software without restriction, including without limitation the rights
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
# furnished to do so, subject to the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be included in
|
|
# all copies or substantial portions of the Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
# DEALINGS IN THE SOFTWARE.
|
|
|
|
# This is @configure_input@
|
|
#
|
|
# If you use configure, this file overrides variables and augments rules
|
|
# in the Makefile to reflect your configuration choices. If you don't run
|
|
# configure, the main Makefile contains suitable conservative defaults.
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
bindir = @bindir@
|
|
includedir = @includedir@
|
|
libdir = @libdir@
|
|
libexecdir = @libexecdir@
|
|
datarootdir = @datarootdir@
|
|
mandir = @mandir@
|
|
|
|
CC = @CC@
|
|
RANLIB = @RANLIB@
|
|
|
|
CPPFLAGS = @CPPFLAGS@
|
|
CFLAGS = @CFLAGS@
|
|
LDFLAGS = @LDFLAGS@
|
|
VERSION_SCRIPT_LDFLAGS = @VERSION_SCRIPT_LDFLAGS@
|
|
LIBS = @LIBS@
|
|
|
|
PLATFORM = @PLATFORM@
|
|
PLUGIN_EXT = @PLUGIN_EXT@
|
|
|
|
# The default Makefile enables some of the optional files, but we blank
|
|
# them so they can be controlled by configure instead.
|
|
NONCONFIGURE_OBJS =
|
|
|
|
# Lowercase here indicates these are "local" to config.mk
|
|
plugin_OBJS =
|
|
noplugin_LDFLAGS =
|
|
noplugin_LIBS =
|
|
|
|
# ifeq/.../endif, +=, and target-specific variables are GNU Make-specific.
|
|
# If you don't have GNU Make, comment out this conditional and note that
|
|
# to enable libcurl you will need to implement the following elsewhere.
|
|
ifeq "libcurl-@libcurl@" "libcurl-enabled"
|
|
|
|
LIBCURL_LIBS = -lcurl
|
|
|
|
plugin_OBJS += hfile_libcurl.o
|
|
|
|
hfile_libcurl$(PLUGIN_EXT): LIBS += $(LIBCURL_LIBS)
|
|
|
|
noplugin_LIBS += $(LIBCURL_LIBS)
|
|
|
|
endif
|
|
|
|
ifeq "gcs-@gcs@" "gcs-enabled"
|
|
plugin_OBJS += hfile_gcs.o
|
|
endif
|
|
|
|
ifeq "s3-@s3@" "s3-enabled"
|
|
plugin_OBJS += hfile_s3.o
|
|
plugin_OBJS += hfile_s3_write.o
|
|
|
|
CRYPTO_LIBS = @CRYPTO_LIBS@
|
|
noplugin_LIBS += $(CRYPTO_LIBS)
|
|
hfile_s3$(PLUGIN_EXT): LIBS += $(CRYPTO_LIBS)
|
|
hfile_s3_write$(PLUGIN_EXT): LIBS += $(CRYPTO_LIBS) $(LIBCURL_LIBS)
|
|
endif
|
|
|
|
ifeq "plugins-@enable_plugins@" "plugins-yes"
|
|
|
|
plugindir = @plugindir@
|
|
pluginpath = @pluginpath@
|
|
|
|
LIBHTS_OBJS += plugin.o
|
|
PLUGIN_OBJS += $(plugin_OBJS)
|
|
|
|
plugin.o plugin.pico: ALL_CPPFLAGS += -DPLUGINPATH=\"$(pluginpath)\"
|
|
|
|
# When built as separate plugins, these record their version themselves.
|
|
hfile_gcs.o hfile_gcs.pico: version.h
|
|
hfile_libcurl.o hfile_libcurl.pico: version.h
|
|
hfile_s3.o hfile_s3.pico: version.h
|
|
hfile_s3_write.o hfile_s3_write.pico: version.h
|
|
|
|
# Windows DLL plugins depend on the import library, built as a byproduct.
|
|
$(plugin_OBJS:.o=.cygdll): cyghts-$(LIBHTS_SOVERSION).dll
|
|
|
|
else
|
|
|
|
LIBHTS_OBJS += $(plugin_OBJS)
|
|
LDFLAGS += $(noplugin_LDFLAGS)
|
|
LIBS += $(noplugin_LIBS)
|
|
|
|
endif
|
|
|
|
# Extra CFLAGS for specific files
|
|
HTS_CFLAGS_AVX2 = @hts_cflags_avx2@
|
|
HTS_CFLAGS_AVX512 = @hts_cflags_avx512@
|
|
HTS_CFLAGS_SSE4 = @hts_cflags_sse4@
|