2016-01-06 04:20:25 +01:00
|
|
|
AUTOMAKE_OPTIONS = foreign
|
|
|
|
|
2020-11-28 21:24:23 +01:00
|
|
|
BUILT_SOURCES =#
|
|
|
|
CLEANFILES =#
|
|
|
|
|
2022-06-25 02:05:44 +02:00
|
|
|
DEFS += -DIRCD_UNIT
|
|
|
|
|
|
|
|
AM_CPPFLAGS =#
|
|
|
|
AM_CPPFLAGS += -I$(top_srcdir)/include
|
|
|
|
|
|
|
|
AM_CXXFLAGS =#
|
|
|
|
AM_CXXFLAGS += -ftls-model=initial-exec
|
|
|
|
|
|
|
|
AM_LDFLAGS =#
|
|
|
|
AM_LDFLAGS += -version-info 3:2:0
|
|
|
|
AM_LDFLAGS += -Wl,--no-undefined-version
|
|
|
|
AM_LDFLAGS += -Wl,--icf=all
|
|
|
|
AM_LDFLAGS += -Wl,--sort-section=name
|
|
|
|
AM_LDFLAGS += -Wl,--unresolved-symbols=ignore-in-shared-libs
|
|
|
|
AM_LDFLAGS += -Wl,--wrap=pthread_create
|
|
|
|
AM_LDFLAGS += -Wl,--wrap=pthread_join
|
|
|
|
AM_LDFLAGS += -Wl,--wrap=pthread_tryjoin_np
|
|
|
|
AM_LDFLAGS += -Wl,--wrap=pthread_timedjoin_np
|
|
|
|
AM_LDFLAGS += -Wl,--wrap=pthread_clockjoin_np
|
|
|
|
AM_LDFLAGS += -Wl,--wrap=pthread_self
|
|
|
|
AM_LDFLAGS += -Wl,--wrap=pthread_setname_np
|
|
|
|
AM_LDFLAGS += -Wl,--wrap=_dl_signal_exception
|
|
|
|
AM_LDFLAGS += -Wl,-z,nodelete
|
|
|
|
AM_LDFLAGS += -Wl,-z,nodlopen
|
|
|
|
AM_LDFLAGS += -Wl,-z,lazy
|
|
|
|
AM_LDFLAGS += $(PLATFORM_LDFLAGS)
|
2016-07-20 20:55:46 +02:00
|
|
|
|
2022-07-19 21:38:10 +02:00
|
|
|
if CLANG_PCH
|
|
|
|
AM_CPPFLAGS += -include-pch $(top_srcdir)/include/ircd/ircd.pic.h.gch
|
|
|
|
else
|
|
|
|
AM_CPPFLAGS += -include ircd/ircd.pic.h
|
|
|
|
endif
|
|
|
|
|
2020-05-21 17:58:42 +02:00
|
|
|
if CLANG
|
2022-07-19 21:38:10 +02:00
|
|
|
if !CLANG_PCH
|
2020-05-21 17:58:42 +02:00
|
|
|
AM_CXXFLAGS += -fno-c++-static-destructors
|
|
|
|
endif
|
2022-07-19 21:38:10 +02:00
|
|
|
endif
|
2020-05-21 17:58:42 +02:00
|
|
|
|
2020-04-18 06:21:28 +02:00
|
|
|
if LTO
|
2022-07-20 19:44:54 +02:00
|
|
|
if GCC
|
|
|
|
AM_CXXFLAGS += -flto=auto
|
|
|
|
endif
|
2020-04-18 06:21:28 +02:00
|
|
|
endif
|
|
|
|
|
2020-05-11 10:58:25 +02:00
|
|
|
if LTO
|
|
|
|
if CLANG
|
2022-07-20 19:44:54 +02:00
|
|
|
AM_CXXFLAGS += -flto=thin
|
2020-05-11 10:58:25 +02:00
|
|
|
AM_CXXFLAGS += -fstrict-vtable-pointers
|
|
|
|
AM_CXXFLAGS += -fwhole-program-vtables
|
2022-06-20 03:59:29 +02:00
|
|
|
#AM_LDFLAGS += -Wl,-plugin-opt,-pass-remarks='.*'
|
2020-05-11 10:58:25 +02:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2020-11-28 21:24:23 +01:00
|
|
|
if CLANG
|
2022-07-27 20:28:14 +02:00
|
|
|
if PROFILE_USE
|
2020-11-28 21:24:23 +01:00
|
|
|
AM_CXXFLAGS += -fprofile-use
|
|
|
|
BUILT_SOURCES += default.profdata
|
|
|
|
CLEANFILES += default.profdata
|
|
|
|
endif
|
2019-05-26 07:35:54 +02:00
|
|
|
endif
|
|
|
|
|
2020-11-24 20:04:19 +01:00
|
|
|
if CLANG
|
2022-07-27 20:28:14 +02:00
|
|
|
if PROFILE
|
2020-11-24 20:04:19 +01:00
|
|
|
AM_CXXFLAGS += -fprofile-generate
|
|
|
|
AM_LDFLAGS += -Wl,-fprofile-generate
|
|
|
|
#TODO: XXX
|
|
|
|
#AM_CXXFLAGS += -fprofile-instr-generate
|
|
|
|
#AM_CXXFLAGS += -fcoverage-mapping
|
|
|
|
#AM_LDFLAGS += -Wl,-fprofile-instr-generate
|
|
|
|
#AM_LDFLAGS += -Wl,-fcoverage-mapping
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2022-06-14 03:27:38 +02:00
|
|
|
if GOLD
|
|
|
|
AM_LDFLAGS += -Wl,--no-text-reorder
|
|
|
|
AM_LDFLAGS += -Wl,--weak-unresolved-symbols
|
|
|
|
AM_LDFLAGS += -Wl,--sort-common=descending
|
|
|
|
endif
|
|
|
|
|
2020-11-28 21:24:23 +01:00
|
|
|
if MINGW
|
|
|
|
AM_LDFLAGS += -Wl,--enable-runtime-pseudo-reloc
|
|
|
|
AM_LDFLAGS += -export-symbols-regex '*'
|
|
|
|
endif
|
2019-09-26 05:30:26 +02:00
|
|
|
|
2022-06-25 02:05:44 +02:00
|
|
|
AM_CXXFLAGS += $(EXTRA_CXXFLAGS)
|
|
|
|
AM_CPPFLAGS += $(EXTRA_CPPFLAGS)
|
|
|
|
AM_LDFLAGS += $(EXTRA_LDFLAGS)
|
|
|
|
|
2019-05-06 22:18:03 +02:00
|
|
|
libircddir = @libdir@
|
2022-07-09 23:53:52 +02:00
|
|
|
libircd_LTLIBRARIES =#
|
|
|
|
libircd_LTLIBRARIES += libircd.la
|
|
|
|
|
|
|
|
libircd_la_LDFLAGS =#
|
|
|
|
libircd_la_LDFLAGS += $(AM_LDFLAGS)
|
|
|
|
libircd_la_LDFLAGS += @ROCKSDB_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @JS_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @ICU_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @BOOST_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @OPENCL_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @SSL_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @PBC_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @CRYPTO_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @SODIUM_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @MAGIC_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @IMAGEMAGICK_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @PNG_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @ZSTD_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @SNAPPY_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @LZ4_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @Z_LDFLAGS@
|
|
|
|
libircd_la_LDFLAGS += @MALLOC_LDFLAGS@
|
2022-09-04 20:08:05 +02:00
|
|
|
libircd_la_LDFLAGS += @URING_LDFLAGS@
|
2022-07-09 23:53:52 +02:00
|
|
|
|
|
|
|
libircd_la_LIBADD =#
|
|
|
|
libircd_la_LIBADD += @ROCKSDB_LIBS@
|
|
|
|
libircd_la_LIBADD += @JS_LIBS@
|
|
|
|
libircd_la_LIBADD += @ICU_LIBS@
|
|
|
|
libircd_la_LIBADD += @BOOST_LIBS@
|
|
|
|
libircd_la_LIBADD += @PBC_LIBS@
|
|
|
|
libircd_la_LIBADD += @SSL_LIBS@
|
|
|
|
libircd_la_LIBADD += @CRYPTO_LIBS@
|
|
|
|
libircd_la_LIBADD += @SODIUM_LIBS@
|
|
|
|
libircd_la_LIBADD += @MAGIC_LIBS@
|
|
|
|
libircd_la_LIBADD += @IMAGEMAGICK_LIBS@
|
|
|
|
libircd_la_LIBADD += @PNG_LIBS@
|
|
|
|
libircd_la_LIBADD += @ZSTD_LIBS@
|
|
|
|
libircd_la_LIBADD += @SNAPPY_LIBS@
|
|
|
|
libircd_la_LIBADD += @LZ4_LIBS@
|
|
|
|
libircd_la_LIBADD += @Z_LIBS@
|
2022-09-04 20:08:05 +02:00
|
|
|
libircd_la_LIBADD += @URING_LIBS@
|
2022-07-09 23:53:52 +02:00
|
|
|
libircd_la_LIBADD += $(EXTRA_LIBS)
|
2017-08-23 23:39:41 +02:00
|
|
|
|
2020-11-24 20:04:19 +01:00
|
|
|
if PROFILE
|
|
|
|
if CLANG11
|
|
|
|
#TODO: XXX
|
|
|
|
libircd_la_LIBADD += /usr/lib/llvm-11/lib/clang/11.0.0/lib/linux/libclang_rt.profile-x86_64.a
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2019-09-26 05:30:26 +02:00
|
|
|
#
|
|
|
|
# Unit list
|
|
|
|
#
|
2018-02-11 20:51:46 +01:00
|
|
|
# Since this is a GNU C++ project we assume the non-standard respect for
|
|
|
|
# the order of this sources list. Static initialization will occur in
|
|
|
|
# the same order as this list, and destruction in the reverse order.
|
|
|
|
# Add the most dependent units at the end and the least dependent units
|
|
|
|
# at the beginning.
|
|
|
|
#
|
2019-09-26 05:30:26 +02:00
|
|
|
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES =#
|
2020-11-28 21:24:23 +01:00
|
|
|
libircd_la_SOURCES += default.profdata
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += assert.cc
|
2020-10-16 18:48:33 +02:00
|
|
|
libircd_la_SOURCES += vg.cc
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += exception.cc
|
|
|
|
libircd_la_SOURCES += demangle.cc
|
2019-09-20 07:02:57 +02:00
|
|
|
libircd_la_SOURCES += backtrace.cc
|
2020-06-24 19:28:03 +02:00
|
|
|
libircd_la_SOURCES += simd.cc
|
2020-06-18 07:55:56 +02:00
|
|
|
libircd_la_SOURCES += fpe.cc
|
2021-03-01 23:45:25 +01:00
|
|
|
libircd_la_SOURCES += parse.cc
|
|
|
|
libircd_la_SOURCES += lex_cast.cc
|
2022-06-23 19:24:06 +02:00
|
|
|
libircd_la_SOURCES += versions.cc
|
2021-03-01 23:45:25 +01:00
|
|
|
libircd_la_SOURCES += info.cc
|
|
|
|
libircd_la_SOURCES += allocator.cc
|
|
|
|
libircd_la_SOURCES += allocator_gnu.cc
|
|
|
|
libircd_la_SOURCES += allocator_je.cc
|
|
|
|
libircd_la_SOURCES += util.cc
|
|
|
|
libircd_la_SOURCES += rand.cc
|
|
|
|
libircd_la_SOURCES += fmt.cc
|
|
|
|
libircd_la_SOURCES += timedate.cc
|
2020-09-24 02:10:03 +02:00
|
|
|
if ICU
|
2020-06-19 10:04:30 +02:00
|
|
|
libircd_la_SOURCES += icu.cc
|
2020-09-24 02:10:03 +02:00
|
|
|
endif
|
2020-06-28 03:10:36 +02:00
|
|
|
libircd_la_SOURCES += utf.cc
|
2019-06-05 11:09:42 +02:00
|
|
|
libircd_la_SOURCES += stringops.cc
|
2019-07-11 22:46:32 +02:00
|
|
|
libircd_la_SOURCES += globular.cc
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += tokens.cc
|
2020-08-10 12:51:09 +02:00
|
|
|
libircd_la_SOURCES += b64.cc
|
|
|
|
libircd_la_SOURCES += b58.cc
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += crh.cc
|
|
|
|
libircd_la_SOURCES += json.cc
|
2019-12-26 20:43:01 +01:00
|
|
|
libircd_la_SOURCES += cbor.cc
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += conf.cc
|
2019-07-11 22:11:12 +02:00
|
|
|
libircd_la_SOURCES += stats.cc
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += logger.cc
|
2020-12-23 03:03:56 +01:00
|
|
|
libircd_la_SOURCES += ios.cc
|
2020-01-24 19:39:40 +01:00
|
|
|
libircd_la_SOURCES += run.cc
|
2019-05-01 23:40:39 +02:00
|
|
|
libircd_la_SOURCES += prof.cc
|
2020-12-06 14:15:38 +01:00
|
|
|
libircd_la_SOURCES += prof_psi.cc
|
2019-07-31 23:06:13 +02:00
|
|
|
if LINUX
|
|
|
|
libircd_la_SOURCES += prof_linux.cc
|
|
|
|
endif
|
2019-10-07 05:22:16 +02:00
|
|
|
libircd_la_SOURCES += ctx_x86_64.S
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += ctx.cc
|
2019-07-22 00:26:44 +02:00
|
|
|
libircd_la_SOURCES += ctx_eh.cc
|
2019-07-11 23:07:12 +02:00
|
|
|
libircd_la_SOURCES += ctx_ole.cc
|
2020-04-30 17:57:33 +02:00
|
|
|
libircd_la_SOURCES += ctx_posix.cc
|
2020-12-23 03:03:56 +01:00
|
|
|
libircd_la_SOURCES += fs.cc
|
|
|
|
libircd_la_SOURCES += fs_path.cc
|
|
|
|
libircd_la_SOURCES += fs_dev.cc
|
2019-05-01 23:40:39 +02:00
|
|
|
if AIO
|
|
|
|
libircd_la_SOURCES += fs_aio.cc
|
|
|
|
endif
|
2020-06-11 09:43:36 +02:00
|
|
|
libircd_la_SOURCES += sys.cc
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += mods.cc
|
2019-05-28 12:47:02 +02:00
|
|
|
if LINUX
|
2019-05-28 23:50:55 +02:00
|
|
|
libircd_la_SOURCES += mods_ldso.cc
|
2019-05-28 12:47:02 +02:00
|
|
|
endif
|
2020-10-20 03:37:11 +02:00
|
|
|
libircd_la_SOURCES += exec.cc
|
2020-08-24 10:33:27 +02:00
|
|
|
if MAGIC
|
|
|
|
libircd_la_SOURCES += magic.cc
|
|
|
|
endif
|
|
|
|
if SODIUM
|
|
|
|
libircd_la_SOURCES += sodium.cc
|
|
|
|
endif
|
|
|
|
if PBC
|
|
|
|
libircd_la_SOURCES += pbc.cc
|
|
|
|
endif
|
2020-08-24 10:35:15 +02:00
|
|
|
if IMAGEMAGICK
|
|
|
|
libircd_la_SOURCES += magick.cc
|
|
|
|
endif
|
2021-10-06 22:07:21 +02:00
|
|
|
libircd_la_SOURCES += beep.cc
|
2021-01-16 03:41:25 +01:00
|
|
|
libircd_la_SOURCES += png.cc
|
2021-01-04 11:29:40 +01:00
|
|
|
if OPENCL
|
|
|
|
libircd_la_SOURCES += cl.cc
|
|
|
|
endif
|
2021-03-01 23:49:08 +01:00
|
|
|
libircd_la_SOURCES += gpt_vocab.cc
|
2022-06-20 03:59:29 +02:00
|
|
|
libircd_la_SOURCES += gpt_model.cc
|
|
|
|
libircd_la_SOURCES += gpt_pipe_code.cc
|
|
|
|
libircd_la_SOURCES += gpt_pipe.cc
|
2021-09-02 19:40:11 +02:00
|
|
|
libircd_la_SOURCES += gpt_cpu.cc
|
2022-06-20 03:59:29 +02:00
|
|
|
libircd_la_SOURCES += gpt.cc
|
2020-08-24 10:33:27 +02:00
|
|
|
libircd_la_SOURCES += openssl.cc
|
|
|
|
libircd_la_SOURCES += rfc1459.cc
|
|
|
|
libircd_la_SOURCES += rfc3986.cc
|
|
|
|
libircd_la_SOURCES += rfc1035.cc
|
|
|
|
libircd_la_SOURCES += http.cc
|
|
|
|
libircd_la_SOURCES += http2.cc
|
2020-04-29 09:31:52 +02:00
|
|
|
libircd_la_SOURCES += db_fixes.cc
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += db_port.cc
|
2020-06-05 00:01:39 +02:00
|
|
|
libircd_la_SOURCES += db_allocator.cc
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += db_env.cc
|
2020-10-11 20:03:45 +02:00
|
|
|
libircd_la_SOURCES += db_database.cc
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += db.cc
|
|
|
|
libircd_la_SOURCES += net.cc
|
2020-02-26 20:20:00 +01:00
|
|
|
libircd_la_SOURCES += net_addrs.cc
|
2019-10-06 02:02:50 +02:00
|
|
|
libircd_la_SOURCES += net_dns.cc
|
2020-04-13 21:05:15 +02:00
|
|
|
libircd_la_SOURCES += net_dns_netdb.cc
|
2019-10-06 02:02:50 +02:00
|
|
|
libircd_la_SOURCES += net_dns_cache.cc
|
2019-10-03 19:47:33 +02:00
|
|
|
libircd_la_SOURCES += net_dns_resolver.cc
|
2020-04-13 04:07:07 +02:00
|
|
|
libircd_la_SOURCES += net_listener.cc
|
|
|
|
libircd_la_SOURCES += net_listener_udp.cc
|
2022-07-08 01:44:42 +02:00
|
|
|
if LINUX
|
|
|
|
libircd_la_SOURCES += net_bpf.cc
|
|
|
|
endif
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += server.cc
|
|
|
|
libircd_la_SOURCES += client.cc
|
|
|
|
libircd_la_SOURCES += resource.cc
|
2016-11-29 16:23:38 +01:00
|
|
|
if JS
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += js.cc
|
2016-11-29 16:23:38 +01:00
|
|
|
endif
|
2019-05-01 01:46:34 +02:00
|
|
|
libircd_la_SOURCES += ircd.cc
|
2019-03-23 00:29:04 +01:00
|
|
|
|
2021-03-07 11:16:13 +01:00
|
|
|
#
|
|
|
|
# Specific unit option composition
|
|
|
|
#
|
|
|
|
|
2022-06-20 03:59:29 +02:00
|
|
|
ROCKSDB_SRC_CPPFLAGS =#
|
|
|
|
ROCKSDB_SRC_CPPFLAGS += -isystem $(top_srcdir)/deps/rocksdb/include
|
|
|
|
ROCKSDB_SRC_CPPFLAGS += -isystem $(top_srcdir)/deps/rocksdb
|
|
|
|
|
|
|
|
GPT_FP_CXXFLAGS =#
|
2022-07-19 21:38:10 +02:00
|
|
|
#TODO: XXX
|
|
|
|
if !CLANG_PCH
|
2022-06-20 03:59:29 +02:00
|
|
|
GPT_FP_CXXFLAGS += -fno-math-errno
|
|
|
|
GPT_FP_CXXFLAGS += -fno-trapping-math
|
|
|
|
GPT_FP_CXXFLAGS += -ffinite-math-only
|
|
|
|
GPT_FP_CXXFLAGS += -fno-signed-zeros
|
|
|
|
GPT_FP_CXXFLAGS += -fassociative-math
|
|
|
|
GPT_FP_CXXFLAGS += -freciprocal-math
|
|
|
|
GPT_FP_CXXFLAGS += -ffp-contract=fast
|
|
|
|
if CLANG
|
|
|
|
GPT_FP_CXXFLAGS += -fdenormal-fp-math=positive-zero
|
|
|
|
GPT_FP_CXXFLAGS += -ffp-model=fast
|
|
|
|
endif
|
2022-07-19 21:38:10 +02:00
|
|
|
endif
|
|
|
|
|
|
|
|
if CLANG_PCH
|
|
|
|
ASIO_UNIT_CPPFLAGS += -include-pch $(top_srcdir)/include/ircd/asio.h.gch
|
|
|
|
SPIRIT_UNIT_CPPFLAGS += -include-pch $(top_srcdir)/include/ircd/spirit.h.gch
|
|
|
|
else
|
|
|
|
ASIO_UNIT_CPPFLAGS += -include ircd/asio.h
|
|
|
|
SPIRIT_UNIT_CPPFLAGS += -include ircd/spirit.h
|
|
|
|
endif
|
2022-06-20 03:59:29 +02:00
|
|
|
|
2022-07-19 21:38:10 +02:00
|
|
|
client.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
2019-10-07 05:22:16 +02:00
|
|
|
ctx_x86_64.lo: AM_CPPFLAGS := -I$(top_srcdir)/include
|
2022-07-19 21:38:10 +02:00
|
|
|
ctx.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
|
|
|
ctx_ole.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
|
|
|
ctx_eh.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
|
|
|
db.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ROCKSDB_UNIT_CPPFLAGS}
|
|
|
|
db_allocator.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ROCKSDB_UNIT_CPPFLAGS}
|
|
|
|
db_database.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ROCKSDB_UNIT_CPPFLAGS}
|
|
|
|
db_env.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ROCKSDB_UNIT_CPPFLAGS}
|
|
|
|
db_fixes.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ROCKSDB_UNIT_CPPFLAGS}
|
2021-03-07 11:16:13 +01:00
|
|
|
db_fixes.lo: AM_CPPFLAGS += ${ROCKSDB_SRC_CPPFLAGS}
|
2022-07-19 21:38:10 +02:00
|
|
|
db_port.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ROCKSDB_UNIT_CPPFLAGS}
|
|
|
|
exception.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
|
|
|
exec.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
|
|
|
fmt.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${SPIRIT_UNIT_CPPFLAGS}
|
|
|
|
fmt.lo: AM_CXXFLAGS := ${AM_CXXFLAGS} ${SPIRIT_UNIT_CXXFLAGS}
|
|
|
|
fs.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
|
|
|
fs_path.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
2019-09-26 05:30:26 +02:00
|
|
|
if AIO
|
2022-07-19 21:38:10 +02:00
|
|
|
fs_aio.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
2019-06-23 09:29:43 +02:00
|
|
|
endif
|
2022-06-20 03:59:29 +02:00
|
|
|
gpt_cpu.lo: AM_CXXFLAGS := ${AM_CXXFLAGS} ${GPT_FP_CXXFLAGS}
|
2022-07-19 21:38:10 +02:00
|
|
|
http.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${SPIRIT_UNIT_CPPFLAGS}
|
|
|
|
http.lo: AM_CXXFLAGS := ${AM_CXXFLAGS} ${SPIRIT_UNIT_CXXFLAGS}
|
|
|
|
ios.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
2019-09-26 05:30:26 +02:00
|
|
|
if JS
|
|
|
|
js.lo: AM_CPPFLAGS := @JS_CPPFLAGS@ ${AM_CPPFLAGS}
|
|
|
|
endif
|
2022-07-19 21:38:10 +02:00
|
|
|
json.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${SPIRIT_UNIT_CPPFLAGS}
|
|
|
|
json.lo: AM_CXXFLAGS := ${AM_CXXFLAGS} ${SPIRIT_UNIT_CXXFLAGS}
|
|
|
|
lex_cast.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${SPIRIT_UNIT_CPPFLAGS}
|
|
|
|
lex_cast.lo: AM_CXXFLAGS := ${AM_CXXFLAGS} ${SPIRIT_UNIT_CXXFLAGS}
|
2021-01-04 11:29:40 +01:00
|
|
|
if OPENCL
|
|
|
|
cl.lo: AM_CPPFLAGS := @OPENCL_CPPFLAGS@ ${AM_CPPFLAGS}
|
|
|
|
endif
|
2020-03-10 18:16:42 +01:00
|
|
|
tokens.lo: AM_CPPFLAGS := @BOOST_CPPFLAGS@ ${AM_CPPFLAGS}
|
|
|
|
prof.lo: AM_CPPFLAGS := @BOOST_CPPFLAGS@ ${AM_CPPFLAGS}
|
2019-09-26 05:30:26 +02:00
|
|
|
if MAGIC
|
|
|
|
magic.lo: AM_CPPFLAGS := @MAGIC_CPPFLAGS@ ${AM_CPPFLAGS}
|
|
|
|
endif
|
2020-08-24 10:35:15 +02:00
|
|
|
if IMAGEMAGICK
|
|
|
|
magick.lo: AM_CPPFLAGS := @IMAGEMAGICK_CPPFLAGS@ ${AM_CPPFLAGS}
|
|
|
|
endif IMAGEMAGICK
|
2022-07-19 21:38:10 +02:00
|
|
|
mods.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
2022-09-30 03:02:09 +02:00
|
|
|
if LINUX
|
|
|
|
mods_ldso.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
|
|
|
endif
|
2022-07-19 21:38:10 +02:00
|
|
|
net.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
|
|
|
net_addrs.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
|
|
|
net_dns.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
|
|
|
net_dns_resolver.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
|
|
|
net_listener.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
|
|
|
net_listener_udp.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
2019-09-26 05:30:26 +02:00
|
|
|
openssl.lo: AM_CPPFLAGS := @SSL_CPPFLAGS@ @CRYPTO_CPPFLAGS@ ${AM_CPPFLAGS}
|
2022-07-19 21:38:10 +02:00
|
|
|
parse.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${SPIRIT_UNIT_CPPFLAGS}
|
|
|
|
parse.lo: AM_CXXFLAGS := ${AM_CXXFLAGS} ${SPIRIT_UNIT_CXXFLAGS}
|
2020-02-12 00:38:27 +01:00
|
|
|
if PBC
|
|
|
|
pbc.lo: AM_CPPFLAGS := @PBC_CPPFLAGS@ ${AM_CPPFLAGS}
|
|
|
|
endif
|
2021-01-16 03:41:25 +01:00
|
|
|
if PNG
|
|
|
|
png.o: AM_CPPFLAGS := @PNG_CPPFLAGS@ ${AM_CPPFLAGS}
|
|
|
|
endif PNG
|
2022-07-19 21:38:10 +02:00
|
|
|
rfc1459.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${SPIRIT_UNIT_CPPFLAGS}
|
|
|
|
rfc1459.lo: AM_CXXFLAGS := ${AM_CXXFLAGS} ${SPIRIT_UNIT_CXXFLAGS}
|
|
|
|
rfc3986.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${SPIRIT_UNIT_CPPFLAGS}
|
|
|
|
rfc3986.lo: AM_CXXFLAGS := ${AM_CXXFLAGS} ${SPIRIT_UNIT_CXXFLAGS}
|
|
|
|
server.lo: AM_CPPFLAGS := ${AM_CPPFLAGS} ${ASIO_UNIT_CPPFLAGS}
|
2019-09-26 05:30:26 +02:00
|
|
|
if SODIUM
|
|
|
|
sodium.lo: AM_CPPFLAGS := @SODIUM_CPPFLAGS@ ${AM_CPPFLAGS}
|
2019-03-23 00:29:04 +01:00
|
|
|
endif
|
2020-11-28 21:24:23 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Other recipes
|
|
|
|
#
|
|
|
|
|
|
|
|
# LLVM PGO text to binary for -fprofile-use
|
2021-10-23 00:06:57 +02:00
|
|
|
if CLANG
|
2020-11-28 21:24:23 +01:00
|
|
|
default.profdata:
|
|
|
|
-$(LLVM_PROFDATA) merge -output=default.profdata default.proftext
|
2021-10-23 00:06:57 +02:00
|
|
|
endif
|
2021-03-30 03:22:42 +02:00
|
|
|
|
2022-06-20 03:59:29 +02:00
|
|
|
###############################################################################
|
|
|
|
#
|
|
|
|
# Hardware Acceleration / sub-targets
|
|
|
|
#
|
|
|
|
|
2021-05-14 11:53:16 +02:00
|
|
|
if CLANG
|
2021-10-23 00:06:57 +02:00
|
|
|
if OPENCL
|
2021-10-23 00:13:02 +02:00
|
|
|
|
2022-06-20 03:59:29 +02:00
|
|
|
GPU_CPPFLAGS =#
|
|
|
|
GPU_CPPFLAGS += -Dcl_clang_storage_class_specifiers
|
|
|
|
GPU_CPPFLAGS += -DNOFP64
|
2022-07-19 20:36:04 +02:00
|
|
|
GPU_CPPFLAGS += -I$(top_srcdir)/include
|
|
|
|
GPU_CPPFLAGS += -include "ircd/config.h"
|
2022-06-20 03:59:29 +02:00
|
|
|
GPU_CPPFLAGS += $(CPPFLAGS)
|
2022-07-19 20:36:04 +02:00
|
|
|
GPU_CPPFLAGS += $(CWARNS)
|
2022-06-20 03:59:29 +02:00
|
|
|
GPU_CPPFLAGS += $(DEFS)
|
|
|
|
|
|
|
|
GPU_CFLAGS =#
|
|
|
|
GPU_CFLAGS += -fident
|
|
|
|
GPU_CFLAGS += -fno-builtin
|
|
|
|
GPU_CFLAGS += -fverbose-asm
|
|
|
|
GPU_CFLAGS += -fno-discard-value-names
|
|
|
|
GPU_CFLAGS += -mllvm -propagate-attrs=true
|
|
|
|
GPU_CFLAGS += -O3
|
|
|
|
GPU_CFLAGS += -fno-trapping-math
|
|
|
|
GPU_CFLAGS += -ffinite-math-only
|
|
|
|
GPU_CFLAGS += -fno-signed-zeros
|
|
|
|
GPU_CFLAGS += -ffp-contract=fast
|
|
|
|
#GPU_CFLAGS += -include "ircd/config.h"
|
|
|
|
#GPU_CFLAGS += -include "clc/clc.h"
|
|
|
|
#GPU_CFLAGS += -Wassume
|
|
|
|
#GPU_CFLAGS += -Rpass-analysis=".*"
|
|
|
|
#GPU_CFLAGS += -Rpass-missed=".*"
|
|
|
|
|
|
|
|
GPU_LINKFLAGS =#
|
|
|
|
GPU_LINKFLAGS +=#
|
|
|
|
|
|
|
|
GPU_OPTFLAGS =#
|
|
|
|
GPU_OPTFLAGS += -propagate-attrs=true
|
|
|
|
GPU_OPTFLAGS += -O3
|
|
|
|
#GPU_OPTFLAGS += -opt-bisect-limit=-1
|
|
|
|
#GPU_OPTFLAGS += -debug-pass=Arguments
|
|
|
|
#GPU_OPTFLAGS += -pass-remarks='.*'
|
|
|
|
|
|
|
|
GPU_ASFLAGS =#
|
|
|
|
GPU_ASFLAGS += -fident
|
|
|
|
GPU_ASFLAGS += -fno-builtin
|
|
|
|
GPU_ASFLAGS += -mllvm -propagate-attrs=true
|
|
|
|
GPU_ASFLAGS += -mllvm -verify-machineinstrs
|
|
|
|
GPU_ASFLAGS += -O3
|
|
|
|
GPU_ASFLAGS += -Rpass-analysis=asm-printer
|
|
|
|
#GPU_ASFLAGS += -Rpass-analysis=".*"
|
|
|
|
#GPU_ASFLAGS += -mllvm -debug-pass=Arguments
|
|
|
|
#GPU_ASFLAGS += -mllvm -pass-remarks='.*'
|
|
|
|
|
|
|
|
#
|
|
|
|
# SPV
|
|
|
|
#
|
|
|
|
|
2022-10-19 02:41:35 +02:00
|
|
|
SPV_CPPFLAGS = $(GPU_CPPFLAGS)
|
|
|
|
SPV_CPPFLAGS += -D__OPENCL_VERSION__=120
|
|
|
|
|
|
|
|
SPV_CFLAGS = $(GPU_CFLAGS)
|
|
|
|
SPV_CFLAGS += -std=cl2.0
|
|
|
|
SPV_CFLAGS += -target spir--
|
|
|
|
|
2022-06-20 03:59:29 +02:00
|
|
|
BUILT_SOURCES += gpt_gpu.spv.bc
|
|
|
|
gpt_gpu.spv.bc: gpt_gpu.cl
|
2022-10-19 02:41:35 +02:00
|
|
|
$(CC) $(SPV_CFLAGS) $(SPV_CPPFLAGS) -O0 -emit-llvm -o $@ -x cl -c $^
|
2022-06-20 03:59:29 +02:00
|
|
|
|
|
|
|
BUILT_SOURCES += gpt_gpu.spv
|
|
|
|
gpt_gpu.spv: gpt_gpu.spv.bc
|
|
|
|
llvm-spirv -o $@ $^
|
|
|
|
|
|
|
|
CLEANFILES += gpt_gpu.spv.cc
|
|
|
|
libircd_la_SOURCES += gpt_gpu.spv.cc
|
|
|
|
gpt_gpu.spv.cc: gpt_gpu.spv
|
|
|
|
xxd -i $^ $@
|
|
|
|
|
2022-10-19 02:42:03 +02:00
|
|
|
#
|
|
|
|
# GCN-HSA
|
|
|
|
#
|
|
|
|
|
|
|
|
GCN_HSA_TARGET = amdgcn--amdhsa
|
|
|
|
|
|
|
|
GCN_HSA_CPPFLAGS = $(GPU_CPPFLAGS)
|
|
|
|
GCN_HSA_CPPFLAGS += -D__OPENCL_VERSION__=200
|
|
|
|
|
|
|
|
GCN_HSA_CFLAGS = $(GPU_CFLAGS)
|
|
|
|
GCN_HSA_CFLAGS += -std=cl2.0
|
|
|
|
GCN_HSA_CFLAGS += -target $(GCN_HSA_TARGET)
|
|
|
|
GCN_HSA_CFLAGS += -nogpulib
|
|
|
|
GCN_HSA_CFLAGS += -march=amdgcn
|
|
|
|
GCN_HSA_CFLAGS += -Xclang -mlink-bitcode-file -Xclang /usr/lib/clc/amdgcn--amdhsa.bc
|
|
|
|
|
|
|
|
BUILT_SOURCES += gpt_gpu.gcn_hsa.bc
|
|
|
|
gpt_gpu.gcn_hsa.bc: gpt_gpu.cl
|
|
|
|
$(CC) $(GCN_HSA_CFLAGS) $(GCN_HSA_CPPFLAGS) -emit-llvm -o $@ -x cl -c $^
|
|
|
|
|
|
|
|
BUILT_SOURCES += gpt_gpu.gcn_hsa.link.bc
|
|
|
|
gpt_gpu.gcn_hsa.link.bc: gpt_gpu.gcn_hsa.bc
|
|
|
|
llvm-link-14 $(GPU_LINKFLAGS) -o $@ $^ /usr/lib/clc/amdgcn--amdhsa.bc
|
|
|
|
opt-14 $(GPU_OPTFLAGS) -o $@ $@
|
|
|
|
|
|
|
|
#BUILT_SOURCES += gpt_gpu.gcn_hsa.s
|
|
|
|
gpt_gpu.gcn_hsa.s: gpt_gpu.gcn_hsa.link.bc
|
|
|
|
$(CC) -cc1 $(GPU_ASFLAGS) -triple $(GCN_HSA_TARGET) -emit-obj -S -o $@ -x ir $^
|
|
|
|
|
|
|
|
#BUILT_SOURCES += gpt_gpu.gcn_hsa.o
|
|
|
|
gpt_gpu.gcn_hsa.o: gpt_gpu.gcn_hsa.link.bc
|
|
|
|
$(CC) -cc1 $(GPU_ASFLAGS) -triple $(GCN_HSA_TARGET) -emit-obj -o $@ -x ir $^
|
|
|
|
|
|
|
|
CLEANFILES += gpt_gpu.gcn_hsa.bc.cc
|
|
|
|
libircd_la_SOURCES += gpt_gpu.gcn_hsa.bc.cc
|
|
|
|
gpt_gpu.gcn_hsa.bc.cc: gpt_gpu.gcn_hsa.bc
|
|
|
|
xxd -i $^ $@
|
|
|
|
|
2022-06-20 03:59:29 +02:00
|
|
|
#
|
|
|
|
# R600
|
|
|
|
#
|
|
|
|
|
|
|
|
R600_TARGET = r600--
|
|
|
|
|
|
|
|
#
|
|
|
|
# R600 Saint Barthélemy
|
|
|
|
#
|
|
|
|
|
2022-10-19 02:41:35 +02:00
|
|
|
R600_BARTS_CPPFLAGS = $(GPU_CPPFLAGS)
|
|
|
|
R600_BARTS_CPPFLAGS += -D__OPENCL_VERSION__=110
|
|
|
|
|
2022-06-20 03:59:29 +02:00
|
|
|
R600_BARTS_CFLAGS = $(GPU_CFLAGS)
|
2022-10-19 02:41:35 +02:00
|
|
|
R600_BARTS_CFLAGS += -std=cl1.1
|
2022-06-20 03:59:29 +02:00
|
|
|
R600_BARTS_CFLAGS += -target $(R600_TARGET)
|
|
|
|
R600_BARTS_CFLAGS += -mcpu=barts
|
|
|
|
R600_BARTS_CFLAGS += -Xclang -mlink-bitcode-file -Xclang /usr/lib/clc/barts-r600--.bc
|
|
|
|
|
|
|
|
BUILT_SOURCES += gpt_gpu.r600_barts.bc
|
|
|
|
gpt_gpu.r600_barts.bc: gpt_gpu.cl
|
2022-10-19 02:41:35 +02:00
|
|
|
$(CC) $(R600_BARTS_CFLAGS) $(R600_BARTS_CPPFLAGS) -emit-llvm -o $@ -x cl -c $^
|
2022-06-20 03:59:29 +02:00
|
|
|
|
|
|
|
#BUILT_SOURCES += gpt_gpu.r600_barts.link.bc
|
|
|
|
gpt_gpu.r600_barts.link.bc: gpt_gpu.r600_barts.bc
|
|
|
|
llvm-link-14 $(GPU_LINKFLAGS) -o $@ $^ /usr/lib/clc/barts-r600--.bc
|
|
|
|
opt-14 $(GPU_OPTFLAGS) -o $@ $@
|
|
|
|
|
|
|
|
#BUILT_SOURCES += gpt_gpu.r600_barts.s
|
|
|
|
gpt_gpu.r600_barts.s: gpt_gpu.r600_barts.link.bc
|
|
|
|
$(CC) -cc1 $(GPU_ASFLAGS) -triple $(R600_TARGET) -emit-obj -S -o $@ -x ir $^
|
|
|
|
|
|
|
|
#BUILT_SOURCES += gpt_gpu.r600_barts.o
|
|
|
|
gpt_gpu.r600_barts.o: gpt_gpu.r600_barts.link.bc
|
|
|
|
$(CC) -cc1 $(GPU_ASFLAGS) -triple $(R600_TARGET) -emit-obj -o $@ -x ir $^
|
|
|
|
|
|
|
|
CLEANFILES += gpt_gpu.r600_barts.bc.cc
|
|
|
|
libircd_la_SOURCES += gpt_gpu.r600_barts.bc.cc
|
|
|
|
gpt_gpu.r600_barts.bc.cc: gpt_gpu.r600_barts.bc
|
|
|
|
xxd -i $^ $@
|
|
|
|
|
|
|
|
#
|
|
|
|
#
|
|
|
|
#
|
|
|
|
|
|
|
|
endif # OPENCL
|
|
|
|
endif # CLANG
|