Thanks for the hint to DESTDIR, it helps! Nevertheless, I would like to point towards the following section in the [MAKEFILE][1]: ```Makefile # Among the variables below, these: # gitexecdir # ... # can be specified as a relative path some/where/else; # this is interpreted as relative to $(prefix) and "git" at # runtime figures out where they are based on the path to the executable. # ... # This can help installing the suite in a relocatable way. # ... gitexecdir = libexec/git-core ``` [1]: https://github.com/git/git/blob/master/Makefile#L525-L547 On Tue, Oct 4, 2022 at 9:57 AM Đoàn Trần Công Danh <congdanhqx@xxxxxxxxx> wrote: > > On 2022-10-04 09:38:24+0200, darkdragon <darkdragon-001@xxxxxx> wrote: > > Even though in Makefile, it is stated that git will figure out > > gitexecdir at runtime based on the path to the executable, there are > > many output files where $(prefix) will be hardcoded. Even git > > --exec-path will print out $(compile_prefix)/libexec/git-core instead > > of using run_prefix. > > I'm not sure about this part. > > > Example: We are building git in Docker at a separate stage to /deploy > > (since /usr/local is populated with our compiler toolchain). The final > > image is assembled by copying the contents of /deploy to /usr/local. > > Commands like "git submodule" will fail because of the wrong git exec > > path. Searching via "grep -r /deploy" in /deploy after make install > > yields many results. > > But you may be interested in $(DESTDIR) > > make prefix=/usr/local all > make prefix=/usr/local DESTDIR=/deploy install > > Does that work for you? > > -- > Danh