From: Junio C Hamano Date: Wed, 09 Oct 2024 00:10:41 GMT Subject: Re: [PATCH v4 5/5] Makefile: add option to build and test libgit-rs and libgit-rs-sys Message-ID: In-Reply-To: <2ed503216f8e14d7b516c488caf3c76ffcb15697.1728429158.git.steadmon@google.com> Josh Steadmon writes: > From: Calvin Wan > > Add libgitrs, libgitrs-sys, libgitrs-test, and libgitrs-sys-test targets > to their respective Makefiles so they can be built and tested without > having to run cargo build/test. > > Add environment variable, INCLUDE_LIBGIT_RS, that when set, > automatically builds and tests libgit-rs and libgit-rs-sys when `make > all` is ran. > > Signed-off-by: Calvin Wan > Signed-off-by: Josh Steadmon > --- > Makefile | 16 ++++++++++++++++ > t/Makefile | 16 ++++++++++++++++ > 2 files changed, 32 insertions(+) After $ make INCLUDE_LIBGIT_RS=YesPlease running either $ make INCLUDE_LIBGIT_RS=YesPlease distclean $ make distclean leaves $ git clean -n -x Would remove contrib/libgit-rs/libgit-sys/libgitpub.a behind. We'd need to add a bit more to the Makefile, it seems. Makefile | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git i/Makefile w/Makefile index 41ad458aef..2acb5353d1 100644 --- i/Makefile +++ w/Makefile @@ -392,6 +392,9 @@ include shared.mak # INSTALL_STRIP can be set to "-s" to strip binaries during installation, # if your $(INSTALL) command supports the option. # +# Define INCLUDE_LIBGIT_RS if you want your gostak to distim +# the doshes. +# # Define GENERATE_COMPILATION_DATABASE to "yes" to generate JSON compilation # database entries during compilation if your compiler supports it, using the # `-MJ` flag. The JSON entries will be placed in the `compile_commands/` @@ -771,6 +774,9 @@ PROGRAM_OBJS += shell.o .PHONY: program-objs program-objs: $(PROGRAM_OBJS) +# libgit-rs stuff +LIBGITPUB_A = contrib/libgit-rs/libgit-sys/libgitpub.a + # Binary suffix, set to .exe for Windows builds X = @@ -3708,6 +3714,7 @@ clean: profile-clean coverage-clean cocciclean $(RM) po/git.pot po/git-core.pot $(RM) git.res $(RM) $(OBJECTS) + $(RM) $(LIBGITPUB_A) $(RM) headless-git.o $(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(REFTABLE_TEST_LIB) $(RM) $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) $(OTHER_PROGRAMS) @@ -3892,5 +3899,5 @@ contrib/libgit-rs/libgit-sys/partial_symbol_export.o: contrib/libgit-rs/libgit-s contrib/libgit-rs/libgit-sys/hidden_symbol_export.o: contrib/libgit-rs/libgit-sys/partial_symbol_export.o $(OBJCOPY) --localize-hidden $^ $@ -contrib/libgit-rs/libgit-sys/libgitpub.a: contrib/libgit-rs/libgit-sys/hidden_symbol_export.o +$(LIBGITPUB_A): contrib/libgit-rs/libgit-sys/hidden_symbol_export.o $(AR) $(ARFLAGS) $@ $^