Re: Makefile: uses rsync(1), could this be optional?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 21, 2022 at 4:31 AM Steffen Nurpmeso <steffen@xxxxxxxxxx> wrote:
>
> Hello.
>
> I sent this to linux-kernel@xxxxxxxxxxxxxxx on the 15th, which
> seems to be legacy.  Just in case someone is wondering about the
> resend.

I did not see your previous post.
What is bad about using rsync?

>
> As a not-yet-tested low-quality Makefile suggestion, with modern
> GNU tools and find(1)'s -printf, wouldn't the following code work
> out gracefully in practice?  (Not subscribed.)
>
> Thanks for Linux!
>
> --- Makefile.orig       2022-01-15 19:33:59.337393371 +0100
> +++ Makefile    2022-01-15 19:34:07.447393217 +0100
> @@ -1260,8 +1288,17 @@ export INSTALL_HDR_PATH = $(objtree)/usr
>  quiet_cmd_headers_install = INSTALL $(INSTALL_HDR_PATH)/include
>        cmd_headers_install = \
>         mkdir -p $(INSTALL_HDR_PATH); \
> -       rsync -mrl --include='*/' --include='*\.h' --exclude='*' \
> -       usr/include $(INSTALL_HDR_PATH)
> +       if command -v rsync; then \
> +               rsync -mrl --include='*/' --include='*\.h' --exclude='*' \
> +               usr/include $(INSTALL_HDR_PATH);\
> +       else \
> +               cd usr;\
> +               find include/ -type f -name '*.h' -printf '%f %h\n' |\
> +               while read f d; do \
> +                       mkdir -p $(INSTALL_HDR_PATH)/$$d;\
> +                       cp -P $$d/$$f $(INSTALL_HDR_PATH)/$$d/$$f;\
> +               done;\
> +       fi
>
>  PHONY += headers_install
>  headers_install: headers
>
> --steffen
> |
> |Der Kragenbaer,                The moon bear,
> |der holt sich munter           he cheerfully and one by one
> |einen nach dem anderen runter  wa.ks himself off
> |(By Robert Gernhardt)



--
Best Regards
Masahiro Yamada



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux