From 6f340bda5759cfb11f1d610ec53d6be3cb41a6e9 Mon Sep 17 00:00:00 2001 From: wuyuechuan Date: Wed, 24 Jan 2024 20:22:02 +0800 Subject: [PATCH] =?UTF-8?q?=201.=20=E7=BC=96=E8=AF=91=E9=80=9F=E5=BA=A6?= =?UTF-8?q?=E6=8F=90=E5=8D=87=EF=BC=9B2.=20=E7=BC=96=E8=AF=91=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E9=A1=B9=E4=BC=98=E5=8C=96=EF=BC=9A=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E7=9A=84=E6=96=87=E4=BB=B6=E6=9C=AA=E4=BF=AE=E6=94=B9=E6=97=B6?= =?UTF-8?q?=E4=B8=8D=E4=BC=9A=E9=87=8D=E6=96=B0=E7=BC=96=E8=AF=91=E7=94=9F?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contrib/mppdb_decoding/Makefile | 12 ++++++++++++ contrib/postgres_fdw/Makefile | 11 +++++++++++ contrib/test_decoding/Makefile | 11 +++++++++++ src/Makefile.global.in | 4 +--- src/bin/gsqlerr/Makefile | 12 ++++++------ src/bin/pg_dump/Makefile | 2 +- src/common/backend/client_logic/Makefile | 12 +++++++----- src/common/backend/parser/Makefile | 2 +- src/common/backend/snowball/Makefile | 8 ++++++-- src/common/interfaces/ecpg/ecpglib/Makefile | 4 ---- src/common/interfaces/ecpg/preproc/Makefile | 2 +- src/common/interfaces/libpq/Makefile | 16 ++++++++++++---- .../interfaces/libpq/frontend_parser/Makefile | 2 +- src/gausskernel/optimizer/path/Makefile | 1 - 14 files changed, 70 insertions(+), 29 deletions(-) diff --git a/contrib/mppdb_decoding/Makefile b/contrib/mppdb_decoding/Makefile index 16b91de7a..2b4965c05 100644 --- a/contrib/mppdb_decoding/Makefile +++ b/contrib/mppdb_decoding/Makefile @@ -75,6 +75,18 @@ isolationcheck-install-force: all | submake-isolation submake-mppdb_decoding --extra-install=contrib/mppdb_decoding \ $(ISOLATIONCHECKS) + +all: objfiles.txt + + # generate mppdb_decoding objfiles.txt to suspend duplicate make of gaussdb +objfiles.txt: $(OBJS) + @echo "" > objfiles.txt + +objfiles_clean: + rm -f objfiles.txt + +clean: objfiles_clean + PHONY: submake-mppdb_decoding submake-regress check \ regresscheck regresscheck-install-force \ isolationcheck isolationcheck-install-force diff --git a/contrib/postgres_fdw/Makefile b/contrib/postgres_fdw/Makefile index 6c86fd3d9..dfd86c1e1 100644 --- a/contrib/postgres_fdw/Makefile +++ b/contrib/postgres_fdw/Makefile @@ -14,6 +14,17 @@ REGRESS = postgres_fdw # the db name is hard-coded in the tests override USE_MODULE_DB = +all: objfiles.txt + + # generate postgres_fdw objfiles.txt to suspend duplicate make of gaussdb +objfiles.txt: $(OBJS) + @echo "" > objfiles.txt + +objfiles_clean: + rm -f objfiles.txt + +clean: objfiles_clean + ifdef USE_PGXS PG_CONFIG = pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) diff --git a/contrib/test_decoding/Makefile b/contrib/test_decoding/Makefile index c353bfd36..cbcf2f2da 100644 --- a/contrib/test_decoding/Makefile +++ b/contrib/test_decoding/Makefile @@ -50,6 +50,17 @@ regresscheck: all | submake-regress submake-test_decoding --outputdir=./regression_output \ $(REGRESSCHECKS) +all: objfiles.txt + + # generate libpq objfiles.txt to suspend duplicate make of gaussdb +objfiles.txt: $(OBJS) + @echo "" > objfiles.txt + +objfiles_clean: + rm -f objfiles.txt + +clean: objfiles_clean + regresscheck-install-force: | submake-regress submake-test_decoding $(pg_regress_installcheck) \ --extra-install=contrib/test_decoding \ diff --git a/src/Makefile.global.in b/src/Makefile.global.in index b7a94dc6f..daeda4438 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -1136,15 +1136,13 @@ submake-pagecompression: submake-libalarmclient: $(MAKE) -C $(top_builddir)/src/lib/alarm -submake-kwlist: $(top_srcdir)/src/include/parser/kwlist_d.h - submake-kwlist-clean: rm $(top_srcdir)/src/include/parser/kwlist_d.h -f $(top_srcdir)/src/include/parser/kwlist_d.h: $(top_srcdir)/src/include/parser/kwlist.h $(GEN_KEYWORDLIST_DEPS) $(GEN_KEYWORDLIST) --extern -o $(top_srcdir)/src/include/parser $(top_srcdir)/src/include/parser/kwlist.h -.PHONY: submake-libpq submake-libpgport submake-libplpgsql submake-libalarmclient submake-pagecompression submake-kwlist +.PHONY: submake-libpq submake-libpgport submake-libplpgsql submake-libalarmclient submake-pagecompression ########################################################################## diff --git a/src/bin/gsqlerr/Makefile b/src/bin/gsqlerr/Makefile index d22ff72fc..eee67bee7 100644 --- a/src/bin/gsqlerr/Makefile +++ b/src/bin/gsqlerr/Makefile @@ -38,27 +38,26 @@ ifeq ($(enable_thread_check), yes) LIBS = -l$(SECURE_C_CHECK) -l$(MEMCHECK_LIB_NAME_TSAN) -pthread -D_REENTRANT -ldl -lm -lrt endif -all: - make clean +all: submake-libpgport make scanEreport make gsqlerr -scanEreport: $(OBJS1) | submake-libpgport +scanEreport: $(OBJS1) $(top_srcdir)/ereport.txt $(top_srcdir)/src/common/backend/utils/errcodes.txt $(CC) $(CXXFLAGS) $(OBJS1) $(LDFLAGS) $(LDFLAGS_EX) -o $@$(X) $(LIBS) ifeq ($(enable_multiple_nodes), yes) $(top_builddir)/$(subdir)/scanEreport $(top_srcdir) ../distribute_ereport.txt $(top_srcdir)/src/common/backend/utils/errcodes.txt ../distribute_escan.txt distribute endif $(top_builddir)/$(subdir)/scanEreport $(top_srcdir) ereport.txt $(top_srcdir)/src/common/backend/utils/errcodes.txt escan.txt -utscanEreport: $(OBJS1) | submake-libpgport +utscanEreport: $(OBJS1) $(CC) -fPIC -shared $(CXXFLAGS) $(OBJS1) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o libutscanEreport.so -l$(SECURE_C_CHECK) mv libutscanEreport.so $(top_builddir)/../distribute/test/ut/lib OBJS= gsqlerr.o $(WIN32RES) -gsqlerr: $(OBJS) | submake-libpgport +gsqlerr: $(OBJS) $(CC) $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X) -utgsqlerr: $(OBJS) | submake-libpgport +utgsqlerr: $(OBJS) $(CC) -fPIC -shared $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o libutgsqlerr.so -l$(SECURE_C_CHECK) mv libutgsqlerr.so $(top_builddir)/../distribute/test/ut/lib @@ -81,6 +80,7 @@ clean distclean maintainer-clean: rm -f distribute_errmsg_result.txt rm -f distribute_errmsg_new.txt rm -f errmsg.log + rm -f errmsg.h rm -f errmsg_old.txt rm -f errmsg_new.txt rm -f errmsg_result.txt diff --git a/src/bin/pg_dump/Makefile b/src/bin/pg_dump/Makefile index 5a9ca9472..8a4731236 100644 --- a/src/bin/pg_dump/Makefile +++ b/src/bin/pg_dump/Makefile @@ -67,7 +67,7 @@ COMMON_OBJS = $(top_builddir)/src/lib/elog/elog.a EXTRA_OBJS = $(top_builddir)/src/gausskernel/cbb/utils/aes/aes.o KEYWRDOBJS = keywords.o kwlookup.o -keywords.o: submake-kwlist +keywords.o: $(top_srcdir)/src/include/parser/kwlist_d.h kwlookup.cpp: % : $(top_srcdir)/src/common/backend/parser/% rm -f $@ && $(LN_S) $< . diff --git a/src/common/backend/client_logic/Makefile b/src/common/backend/client_logic/Makefile index 8876faf5d..25e4ca652 100644 --- a/src/common/backend/client_logic/Makefile +++ b/src/common/backend/client_logic/Makefile @@ -19,11 +19,13 @@ ifneq "$(MAKECMDGOALS)" "clean" endif endif endif -.PHONY: copy_cstrings -copy_cstrings: - $(MAKE) -C $(top_builddir)/src/common/interfaces/libpq/client_logic_common cstrings_map.o - cp $(top_builddir)/src/common/interfaces/libpq/client_logic_common/cstrings_map.o . -cstrings_map.o: copy_cstrings +DEPENDENCY_PATH = $(top_builddir)/src/common/interfaces/libpq/client_logic_common/ +DEPENDENCY_FILE = cstrings_map.cpp +DEPENDENCY_FILE_O = $(patsubst %.cpp,%.o, $(DEPENDENCY_FILE)) +cstrings_map.o: $(DEPENDENCY_PATH)/$(DEPENDENCY_FILE) + @echo $(DEPENDENCY_PATH)$(DEPENDENCY_FILE) + $(MAKE) -C $(DEPENDENCY_PATH) $(DEPENDENCY_FILE_O) + cp $(DEPENDENCY_PATH)$(DEPENDENCY_FILE_O) . OBJS= client_logic.o cache.o cstrings_map.o client_logic_proc.o include $(top_srcdir)/src/gausskernel/common.mk diff --git a/src/common/backend/parser/Makefile b/src/common/backend/parser/Makefile index d99865f68..0d6380390 100644 --- a/src/common/backend/parser/Makefile +++ b/src/common/backend/parser/Makefile @@ -91,7 +91,7 @@ else @$(missing) flex $< $@ endif -hint_gram.o keywords.o parser.o: hint_gram.hpp submake-kwlist +hint_gram.o keywords.o parser.o: hint_gram.hpp $(top_srcdir)/src/include/parser/kwlist_d.h # gram.cpp, gram.hpp, and scan.inc are in the distribution tarball, so they # are not cleaned here. diff --git a/src/common/backend/snowball/Makefile b/src/common/backend/snowball/Makefile index 92f36f774..092246e92 100644 --- a/src/common/backend/snowball/Makefile +++ b/src/common/backend/snowball/Makefile @@ -90,7 +90,11 @@ VPATH += $(srcdir)/libstemmer NAME := dict_snowball rpath = -all: all-shared-lib $(SQLSCRIPT) +all: all-shared-lib $(SQLSCRIPT) objfiles.txt + +# generate snowball objfiles.txt to suspend duplicate make of gaussdb +objfiles.txt: $(OBJS) + @echo "" > objfiles.txt include $(top_srcdir)/src/Makefile.shlib @@ -150,4 +154,4 @@ uninstall: uninstall-lib done clean distclean maintainer-clean: clean-lib - rm -f $(OBJS) $(SQLSCRIPT) *.depend + rm -f $(OBJS) $(SQLSCRIPT) *.depend objfiles.txt diff --git a/src/common/interfaces/ecpg/ecpglib/Makefile b/src/common/interfaces/ecpg/ecpglib/Makefile index 18a87d1be..4b5c95927 100644 --- a/src/common/interfaces/ecpg/ecpglib/Makefile +++ b/src/common/interfaces/ecpg/ecpglib/Makefile @@ -53,10 +53,6 @@ ifeq ($(PORTNAME), win32) SHLIB_LINK += -lshfolder endif -execute.o: gram.hpp -gram.hpp: - $(MAKE) -C $(top_builddir)/src/common/interfaces/libpq/frontend_parser gram.hpp - all: all-lib .PHONY: submake-pgtypeslib diff --git a/src/common/interfaces/ecpg/preproc/Makefile b/src/common/interfaces/ecpg/preproc/Makefile index ce68f5bf3..bcf5fc996 100644 --- a/src/common/interfaces/ecpg/preproc/Makefile +++ b/src/common/interfaces/ecpg/preproc/Makefile @@ -93,7 +93,7 @@ ecpg_kwlist_d.h: ecpg_kwlist.h $(GEN_KEYWORDLIST_DEPS) $(GEN_KEYWORDLIST) --varname ScanECPGKeywords $< # Force these dependencies to be known even without dependency info built: -ecpg_keywords.o c_keywords.o keywords.o preproc.o parser.o: preproc.hpp submake-kwlist +ecpg_keywords.o c_keywords.o keywords.o preproc.o parser.o: preproc.hpp $(top_srcdir)/src/include/parser/kwlist_d.h ecpg_keywords.o: ecpg_kwlist_d.h c_keywords.o: c_kwlist_d.h keywords.o: $(top_srcdir)/src/include/parser/kwlist.h diff --git a/src/common/interfaces/libpq/Makefile b/src/common/interfaces/libpq/Makefile index b58cd71ec..678a46b80 100644 --- a/src/common/interfaces/libpq/Makefile +++ b/src/common/interfaces/libpq/Makefile @@ -32,6 +32,7 @@ endif ifeq "$(ENABLE_CE)" "1" override CPPFLAGS += -DHAVE_CE -DWORDS_BIGENDIAN +override CPPFLAGS += -I"$(JAVA_HOME)/include" -I"$(JAVA_HOME)/include/linux" ifneq ($(enable_multiple_nodes)_$(enable_privategauss), no_no) ifneq ($(enable_lite_mode), yes) override CPPFLAGS += -L$(top_builddir)/../distribute/bin/gs_ktool/ -lgs_ktool -L$(LIBKMC_LIB_PATH) -lkmc @@ -174,15 +175,21 @@ subsystem: #libpq.a: subsystem all-lib ifneq "$(ENABLE_CE)" "1" -all-lib-depends: frontend_parser_basic +all-lib-depends: frontend_parser_basic $(OBJS) $(MAKE) all-lib +all: all-lib-depends | nce_objfiles.txt +nce_objfiles.txt: $(OBJS) + echo "" > nce_objfiles.txt + @if [ -e ce_objfiles.txt ]; then echo "echo "" > objfiles.txt" && echo "" > objfiles.txt; fi else -all-lib-depends: gs_ktool libpq_ce subsystem +all-lib-depends: gs_ktool libpq_ce subsystem $(OBJS) $(MAKE) all-lib +all: all-lib-depends | ce_objfiles.txt +ce_objfiles.txt: $(OBJS) + echo "" > ce_objfiles.txt + @if [ -e nce_objfiles.txt ]; then echo "echo "" > objfiles.txt" && echo "" > objfiles.txt; fi endif -all: all-lib-depends - utlibpq: all-lib cp libpq.so $(top_builddir)/../distribute/test/ut/lib/libutlibpq.so @@ -258,6 +265,7 @@ clean distclean: clean-lib rm -f $(OBJS) pthread.h libpq.rc # Might be left over from a Win32 client-only build rm -f pg_config_paths.h + rm -f ce_objfiles.txt nce_objfiles.txt objfiles.txt rm -f inet_net_ntop.cpp noblock.cpp pgstrcasecmp.cpp thread.cpp cipher.cpp path.cpp rm -f chklocale.cpp crypt.cpp getaddrinfo.cpp getpeereid.cpp inet_aton.cpp open.cpp snprintf.cpp strerror.cpp strlcpy.cpp win32error.cpp win32setlocale.cpp rm -f pgsleep.cpp diff --git a/src/common/interfaces/libpq/frontend_parser/Makefile b/src/common/interfaces/libpq/frontend_parser/Makefile index 37c3e8cd9..2b613fc77 100644 --- a/src/common/interfaces/libpq/frontend_parser/Makefile +++ b/src/common/interfaces/libpq/frontend_parser/Makefile @@ -29,7 +29,7 @@ include $(top_builddir)/src/Makefile.global include $(top_builddir)/src/Makefile.shlib parser.o gram.o: scan.cpp gram.hpp: gram.cpp -gram.o kwlookup.o parser.o: gram.hpp submake-kwlist +gram.o kwlookup.o parser.o: gram.hpp $(top_srcdir)/src/include/parser/kwlist_d.h scan.o: gram.hpp scan.cpp #gram.cpp: build-parser diff --git a/src/gausskernel/optimizer/path/Makefile b/src/gausskernel/optimizer/path/Makefile index 63ca6b664..e1a124b58 100644 --- a/src/gausskernel/optimizer/path/Makefile +++ b/src/gausskernel/optimizer/path/Makefile @@ -8,7 +8,6 @@ subdir = src/gausskernel/optimizer/path top_builddir = ../../../.. include $(top_builddir)/src/Makefile.global -$(info $(CPPFLAGS)) ifneq "$(MAKECMDGOALS)" "clean" ifneq "$(MAKECMDGOALS)" "distclean"