@ -18,6 +18,7 @@ IDIRS := -I$(PROXYSQL_IDIR) \
LIBPROXYSQLAR := $( PROXYSQL_LDIR) /libproxysql.a
AR ?= ar
OPT := $( STDCPP) -O2 -ggdb -Wl,--no-as-needed $( WASAN)
@ -38,10 +39,10 @@ default: all
.PHONY : all
all : libtap_mariadb .a libtap_mysql 57.a libtap_mysql 8.a \
libtap.so libcpp_dotenv.so libre2.so
libtap.a libcpp_dotenv.so libre2.so
debug : OPT := $( STDCPP ) -O 0 -DDEBUG -ggdb -Wl , --no -as -needed $( WASAN )
debug : libtap_mariadb .a libtap_mysql 57.a libtap_mysql 8.a libtap .so
debug : libtap_mariadb .a libtap_mysql 57.a libtap_mysql 8.a libtap .a
### helper targets
@ -61,28 +62,46 @@ tap.o: tap.cpp cpp-dotenv/static/cpp-dotenv/libcpp_dotenv.a libcurl.so -lssl -lc
$( CXX) -fPIC -c tap.cpp $( IDIRS) $( OPT)
noise_utils_mariadb.o : noise_utils .cpp noise_utils .h utils .h command_line .h
$( CXX) -fPIC -c noise_utils.cpp $( IDIRS) -I$( MARIADB_IDIR) -I$( POSTGRESQL_IDIR) $( OPT) -o $@
$( CXX) -DEXCLUDE_REPLACE_STR - fPIC -c noise_utils.cpp $( IDIRS) -I$( MARIADB_IDIR) -I$( POSTGRESQL_IDIR) $( OPT) -o $@
noise_utils_mysql57.o : noise_utils .cpp noise_utils .h utils .h command_line .h
$( CXX) -DDISABLE_WARNING_COUNT_LOGGING -fPIC -c noise_utils.cpp $( IDIRS) -I$( TEST_MYSQL_IDIR) -I$( TEST_MYSQL_EDIR) -I$( POSTGRESQL_IDIR) $( OPT) -o $@
$( CXX) -DEXCLUDE_REPLACE_STR -D DISABLE_WARNING_COUNT_LOGGING -fPIC -c noise_utils.cpp $( IDIRS) -I$( TEST_MYSQL_IDIR) -I$( TEST_MYSQL_EDIR) -I$( POSTGRESQL_IDIR) $( OPT) -o $@
noise_utils_mysql8.o : noise_utils .cpp noise_utils .h utils .h command_line .h
$( CXX) -DDISABLE_WARNING_COUNT_LOGGING -fPIC -c noise_utils.cpp $( IDIRS) -I$( TEST_MYSQL8_IDIR) -I$( TEST_MYSQL8_EDIR) -I$( POSTGRESQL_IDIR) $( OPT) -o $@
$( CXX) -DEXCLUDE_REPLACE_STR -D DISABLE_WARNING_COUNT_LOGGING -fPIC -c noise_utils.cpp $( IDIRS) -I$( TEST_MYSQL8_IDIR) -I$( TEST_MYSQL8_EDIR) -I$( POSTGRESQL_IDIR) $( OPT) -o $@
mcp_client.o : mcp_client .cpp mcp_client .h libcurl .so
$( CXX) -fPIC -c mcp_client.cpp $( IDIRS) $( OPT)
libtap_mariadb.a : tap .o command_line .o utils_mariadb .o noise_utils_mariadb .o mcp_client .o cpp -dotenv /static /cpp -dotenv /libcpp_dotenv .a
ar rcs libtap_mariadb.a tap.o command_line.o utils_mariadb.o noise_utils_mariadb.o mcp_client.o $( SQLITE3_LDIR) /sqlite3.o $( PROXYSQL_LDIR) /obj/sha256crypt.oo
rm -rf tmp_mariadb && mkdir tmp_mariadb
cd tmp_mariadb && $( AR) x $( POSTGRESQL_PATH) /interfaces/libpq/libpq.a
cd tmp_mariadb && $( AR) x $( POSTGRESQL_PATH) /common/libpgcommon.a
cd tmp_mariadb && $( AR) x $( POSTGRESQL_PATH) /port/libpgport.a
cd tmp_mariadb && $( AR) x $( RE2_LDIR) /libre2.a
$( AR) rcs $@ tap.o command_line.o utils_mariadb.o noise_utils_mariadb.o mcp_client.o $( SQLITE3_LDIR) /sqlite3.o $( PROXYSQL_LDIR) /obj/sha256crypt.oo tmp_mariadb/*.o
rm -rf tmp_mariadb
libtap_mysql57.a : tap .o command_line .o utils_mysql 57.o noise_utils_mysql 57.o mcp_client .o cpp -dotenv /static /cpp -dotenv /libcpp_dotenv .a
ar rcs libtap_mysql57.a tap.o command_line.o utils_mysql57.o noise_utils_mysql57.o mcp_client.o $( SQLITE3_LDIR) /sqlite3.o $( PROXYSQL_LDIR) /obj/sha256crypt.oo
rm -rf tmp_mysql57 && mkdir tmp_mysql57
cd tmp_mysql57 && $( AR) x $( POSTGRESQL_PATH) /interfaces/libpq/libpq.a
cd tmp_mysql57 && $( AR) x $( POSTGRESQL_PATH) /common/libpgcommon.a
cd tmp_mysql57 && $( AR) x $( POSTGRESQL_PATH) /port/libpgport.a
cd tmp_mysql57 && $( AR) x $( RE2_LDIR) /libre2.a
$( AR) rcs $@ tap.o command_line.o utils_mysql57.o noise_utils_mysql57.o mcp_client.o $( SQLITE3_LDIR) /sqlite3.o $( PROXYSQL_LDIR) /obj/sha256crypt.oo tmp_mysql57/*.o
rm -rf tmp_mysql57
libtap_mysql8.a : tap .o command_line .o utils_mysql 8.o noise_utils_mysql 8.o mcp_client .o cpp -dotenv /static /cpp -dotenv /libcpp_dotenv .a
ar rcs libtap_mysql8.a tap.o command_line.o utils_mysql8.o noise_utils_mysql8.o mcp_client.o $( SQLITE3_LDIR) /sqlite3.o $( PROXYSQL_LDIR) /obj/sha256crypt.oo
libtap.so : libtap_mariadb .a cpp -dotenv /dynamic /cpp -dotenv /libcpp_dotenv .so libre 2.so
$( CXX) -shared -o libtap.so -Wl,--whole-archive libtap_mariadb.a -Wl,--no-whole-archive -L$( POSTGRESQL_PATH) /interfaces/libpq -L$( POSTGRESQL_PATH) /common -L$( POSTGRESQL_PATH) /port -l:libpq.a $( LWGCOV)
rm -rf tmp_mysql8 && mkdir tmp_mysql8
cd tmp_mysql8 && $( AR) x $( POSTGRESQL_PATH) /interfaces/libpq/libpq.a
cd tmp_mysql8 && $( AR) x $( POSTGRESQL_PATH) /common/libpgcommon.a
cd tmp_mysql8 && $( AR) x $( POSTGRESQL_PATH) /port/libpgport.a
cd tmp_mysql8 && $( AR) x $( RE2_LDIR) /libre2.a
$( AR) rcs $@ tap.o command_line.o utils_mysql8.o noise_utils_mysql8.o mcp_client.o $( SQLITE3_LDIR) /sqlite3.o $( PROXYSQL_LDIR) /obj/sha256crypt.oo tmp_mysql8/*.o
rm -rf tmp_mysql8
libtap.a : libtap_mariadb .a
cp libtap_mariadb.a libtap.a
### tap deps targets