@@ -9,22 +9,29 @@ INSTALL_DIR := %PREFIX%
99# ##############################################################################
1010PHF_DIR := submodules/rust-phf
1111PHF := $(foreach file,$(shell $(MAKE ) -s -C $(PHF_DIR ) print-targets) ,$(PHF_DIR ) /$(file ) )
12+ PHF_STAMP := $(BUILDDIR ) /phf.stamp
1213OPENSSL_DIR := submodules/rust-openssl
1314OPENSSL := $(foreach file,$(shell $(MAKE ) -s -C $(OPENSSL_DIR ) print-target) ,$(OPENSSL_DIR ) /$(file ) )
15+ OPENSSL_STAMP := $(BUILDDIR ) /openssl.stamp
1416
15- $(PHF ) :
17+ $(PHF ) : $(PHF_STAMP )
18+
19+ $(PHF_STAMP ) :
1620 $(MAKE ) -C $(PHF_DIR )
17- touch $(PHF )
21+ touch $(PHF_STAMP )
22+
23+ $(OPENSSL ) : $(OPENSSL_STAMP )
1824
19- $(OPENSSL ) :
25+ $(OPENSSL_STAMP ) :
2026 $(MAKE ) -C $(OPENSSL_DIR )
21- touch $(OPENSSL )
27+ touch $(OPENSSL_STAMP )
2228
2329# ##############################################################################
2430# Main targets
2531# ##############################################################################
2632POSTGRES_LIB_FILE := src/lib.rs
2733POSTGRES_LIB := $(foreach file,$(shell $(RUSTC ) --crate-file-name $(POSTGRES_LIB_FILE ) ) ,$(BUILDDIR ) /$(file ) )
34+ POSTGRES_STAMP := $(BUILDDIR ) /postgres.stamp
2835POSTGRES_TEST := $(BUILDDIR ) /$(shell $(RUSTC ) --test --crate-file-name $(POSTGRES_LIB_FILE ) )
2936
3037POSTGRES_LIB_DEPS := $(BUILDDIR ) /postgres.d
@@ -38,9 +45,12 @@ LINK_ARGS := $(foreach file,$(OPENSSL),-L $(dir $(file))) $(foreach file,$(PHF),
3845$(BUILDDIR ) :
3946 mkdir -p $@
4047
41- $(POSTGRES_LIB ) : $(POSTGRES_LIB_FILE ) $(PHF ) $(OPENSSL ) | $(BUILDDIR )
48+ $(POSTGRES_LIB ) : $(POSTGRES_STAMP )
49+
50+ $(POSTGRES_STAMP ) : $(POSTGRES_LIB_FILE ) $(PHF ) $(OPENSSL ) | $(BUILDDIR )
4251 $(RUSTC ) $(RUSTFLAGS ) $(LINK_ARGS ) --dep-info $(POSTGRES_LIB_DEPS ) \
4352 --out-dir $(@D ) $<
53+ touch $(POSTGRES_STAMP )
4454
4555$(POSTGRES_TEST ) : $(POSTGRES_LIB_FILE ) $(PHF ) $(OPENSSL ) | $(BUILDDIR )
4656 $(RUSTC ) $(RUSTFLAGS ) $(LINK_ARGS ) --dep-info $(POSTGRES_TEST_DEPS ) \
0 commit comments