From: Josh Steadmon Date: Wed, 09 Oct 2024 22:24:36 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: On 2024.10.08 17:10, Junio C Hamano wrote: > 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) $@ $^ Done in V5.