@@ -2,6 +2,12 @@ CXX = g++
22CXXFLAGS = -std=c++17 -Wall -Wextra -g -O2
33CPPFLAGS = -I./include -I./third_party/googletest/googletest/include
44
5+ # MySQL and PostgreSQL client libraries
6+ MYSQL_CFLAGS = $(shell mysql_config --cflags 2>/dev/null)
7+ MYSQL_LIBS = $(shell mysql_config --libs 2>/dev/null)
8+ PG_CFLAGS = -I$(shell pg_config --includedir 2>/dev/null || echo /usr/include/postgresql)
9+ PG_LIBS = -L$(shell pg_config --libdir 2>/dev/null || echo /usr/lib/x86_64-linux-gnu) -lpq
10+
511PROJECT_ROOT = .
612SRC_DIR = $(PROJECT_ROOT)/src/sql_parser
713ENGINE_SRC_DIR = $(PROJECT_ROOT)/src/sql_engine
@@ -15,7 +21,11 @@ LIB_TARGET = $(PROJECT_ROOT)/libsqlparser.a
1521
1622# SQL Engine sources
1723ENGINE_SRCS = $(ENGINE_SRC_DIR)/function_registry.cpp \
18- $(ENGINE_SRC_DIR)/in_memory_catalog.cpp
24+ $(ENGINE_SRC_DIR)/in_memory_catalog.cpp \
25+ $(ENGINE_SRC_DIR)/datetime_parse.cpp \
26+ $(ENGINE_SRC_DIR)/mysql_remote_executor.cpp \
27+ $(ENGINE_SRC_DIR)/pgsql_remote_executor.cpp \
28+ $(ENGINE_SRC_DIR)/multi_remote_executor.cpp
1929ENGINE_OBJS = $(ENGINE_SRCS:.cpp=.o)
2030
2131# Google Test library
@@ -59,7 +69,10 @@ TEST_SRCS = $(TEST_DIR)/test_main.cpp \
5969 $(TEST_DIR)/test_optimizer.cpp \
6070 $(TEST_DIR)/test_distributed_planner.cpp \
6171 $(TEST_DIR)/test_dml.cpp \
62- $(TEST_DIR)/test_distributed_dml.cpp
72+ $(TEST_DIR)/test_distributed_dml.cpp \
73+ $(TEST_DIR)/test_mysql_executor.cpp \
74+ $(TEST_DIR)/test_pgsql_executor.cpp \
75+ $(TEST_DIR)/test_distributed_real.cpp
6376TEST_OBJS = $(TEST_SRCS:.cpp=.o)
6477TEST_TARGET = $(PROJECT_ROOT)/run_tests
6578
@@ -95,21 +108,21 @@ $(SRC_DIR)/%.o: $(SRC_DIR)/%.cpp
95108
96109# SQL Engine objects
97110$(ENGINE_SRC_DIR)/%.o: $(ENGINE_SRC_DIR)/%.cpp
98- $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@
111+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(MYSQL_CFLAGS) $(PG_CFLAGS) -c $< -o $@
99112
100113# Google Test object
101114$(GTEST_OBJ): $(GTEST_SRC)
102115 $(CXX) $(CXXFLAGS) $(GTEST_CPPFLAGS) -c $< -o $@
103116
104117# Test objects
105118$(TEST_DIR)/%.o: $(TEST_DIR)/%.cpp
106- $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(GTEST_CPPFLAGS) -c $< -o $@
119+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(GTEST_CPPFLAGS) $(MYSQL_CFLAGS) $(PG_CFLAGS) -c $< -o $@
107120
108121test: $(TEST_TARGET)
109122 ./$(TEST_TARGET)
110123
111124$(TEST_TARGET): $(TEST_OBJS) $(GTEST_OBJ) $(LIB_TARGET) $(ENGINE_OBJS)
112- $(CXX) $(CXXFLAGS) -o $@ $(TEST_OBJS) $(GTEST_OBJ) $(ENGINE_OBJS) -L$(PROJECT_ROOT) -lsqlparser -lpthread
125+ $(CXX) $(CXXFLAGS) -o $@ $(TEST_OBJS) $(GTEST_OBJ) $(ENGINE_OBJS) -L$(PROJECT_ROOT) -lsqlparser -lpthread $(MYSQL_LIBS) $(PG_LIBS)
113126
114127# Benchmark objects
115128$(GBENCH_DIR)/src/%.o: $(GBENCH_DIR)/src/%.cc
0 commit comments