diff options
author | Charles Wilson <cygwin@cwilson.fastmail.fm> | 2009-10-30 00:53:47 +0300 |
---|---|---|
committer | Charles Wilson <cygwin@cwilson.fastmail.fm> | 2009-10-30 00:53:47 +0300 |
commit | c16cd856651c5d8fde6bfad41de6f24acd811e46 (patch) | |
tree | b9e89844e7c014b9e612ecce7bc6c58677a0b412 /winsup/w32api | |
parent | d952e44c44093126b9b6dcfb9c8e0e338728f11b (diff) |
Honor DESTDIR for winsup/mingw and winsup/w32api
Diffstat (limited to 'winsup/w32api')
-rw-r--r-- | winsup/w32api/ChangeLog | 17 | ||||
-rw-r--r-- | winsup/w32api/Makefile.in | 2 | ||||
-rw-r--r-- | winsup/w32api/lib/Makefile.in | 40 | ||||
-rw-r--r-- | winsup/w32api/lib/ddk/Makefile.in | 36 | ||||
-rw-r--r-- | winsup/w32api/lib/directx/Makefile.in | 36 |
5 files changed, 92 insertions, 39 deletions
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index 329e4b54c..e0d9449de 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,20 @@ +2009-10-29 Charles Wilson <mingw@cwilson.fastmail.fm> + + Honor DESTDIR for winsup/mingw and winsup/w32api. + Detect and report error if installation paths are win32 + format, but DESTDIR is non-empty. + + * Makefile.in (install, uninstall): Use FLAGS_TO_PASS + when invoking make in subdirs. + * lib/Makefile.in (DESTDIR): Honor per convention. + (need-DESTDIR-compatibility): New macro; define it and a + corresponding rule. + (fail-DESTDIR-compatibility): New dependency goal. + (install-libraries, install-headers, uninstall-libraries, + uninstall-headers): Require need-DESTDIR-compatibility. + * lib/ddk/Makefile.in: Ditto. + * lib/directx/Makefile.in: Ditto. + 2009-10-04 Corinna Vinschen <corinna@vinschen.de> * include/winbase.h (CreateRestrictedToken): Declare for >= Win 2000. diff --git a/winsup/w32api/Makefile.in b/winsup/w32api/Makefile.in index e97cdd36b..e48e1de09 100644 --- a/winsup/w32api/Makefile.in +++ b/winsup/w32api/Makefile.in @@ -89,7 +89,7 @@ test: install uninstall: for i in $(SUBDIRS); do \ - (cd $$i; $(MAKE) $@); \ + (cd $$i; $(MAKE) $@ $(FLAGS_TO_PASS)); \ done ifdef SNAPDATE diff --git a/winsup/w32api/lib/Makefile.in b/winsup/w32api/lib/Makefile.in index d1bcebffc..9439627c3 100644 --- a/winsup/w32api/lib/Makefile.in +++ b/winsup/w32api/lib/Makefile.in @@ -208,24 +208,36 @@ lib%.a: %.o $(AR) rc $@ $*.o $(RANLIB) $@ +need-DESTDIR-compatibility = prefix libdir includedir +.PHONY: $(need-DESTDIR-compatibility) fail-DESTDIR-compatibility + +$(need-DESTDIR-compatibility): + @test -z "$(DESTDIR)" || case "$($@)" in ?:*) \ + $(MAKE) --no-print-directory reject="$@" fail-DESTDIR-compatibility ;; \ + esac + +fail-DESTDIR-compatibility: + $(error DESTDIR is not supported when $(reject) contains Win32 path `$($(reject))'; \ + try `make install $(reject)=$(shell echo '$($(reject))' | sed s,:,:$(DESTDIR),) ...' instead) + .PHONY: install install-libraries install-headers install-ddk # install headers and libraries in a target specified directory. install: install-libraries install-headers install-ddk install-directx -install-libraries: all - $(mkinstalldirs) $(inst_libdir) +install-libraries: all $(need-DESTDIR-compatibility) + $(mkinstalldirs) $(DESTDIR)$(inst_libdir) for i in $(LIBS); do \ - $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(inst_libdir)/$$i ; \ done -install-headers: - $(mkinstalldirs) $(inst_includedir) +install-headers: $(need-DESTDIR-compatibility) + $(mkinstalldirs) $(DESTDIR)$(inst_includedir) for i in $(HEADERS); do \ - $(INSTALL_DATA) $(srcdir)/../include/$$i $(inst_includedir)/$$i ; \ + $(INSTALL_DATA) $(srcdir)/../include/$$i $(DESTDIR)$(inst_includedir)/$$i ; \ done - $(mkinstalldirs) $(inst_includedir)/GL + $(mkinstalldirs) $(DESTDIR)$(inst_includedir)/GL for i in $(GL_HEADERS); do \ - $(INSTALL_DATA) $(srcdir)/../include/GL/$$i $(inst_includedir)/GL/$$i ; \ + $(INSTALL_DATA) $(srcdir)/../include/GL/$$i $(DESTDIR)$(inst_includedir)/GL/$$i ; \ done install-ddk: install-libraries install-headers @@ -237,17 +249,17 @@ install-directx: install-libraries install-headers # uninstall headers and libraries from a target specified directory uninstall: uninstall-ddk uninstall-directx uninstall-libraries uninstall-headers -uninstall-libraries: +uninstall-libraries: $(need-DESTDIR-compatibility) @for i in $(LIBS); do \ - rm -f $(inst_libdir)/$$i ; \ + rm -f $(DESTDIR)$(inst_libdir)/$$i ; \ done - rmdir $(inst_libdir) + rmdir $(DESTDIR)$(inst_libdir) -uninstall-headers: +uninstall-headers: $(need-DESTDIR-compatibility) @for i in $(HEADERS); do \ - rm -r $(inst_includedir)/$$i ; \ + rm -r $(DESTDIR)$(inst_includedir)/$$i ; \ done - rmdir $(inst_includedir) + rmdir $(DESTDIR)$(inst_includedir) uninstall-ddk: cd ddk && $(MAKE) -C uninstall $(FLAGS_TO_PASS) diff --git a/winsup/w32api/lib/ddk/Makefile.in b/winsup/w32api/lib/ddk/Makefile.in index 80b148c2a..d6040f3cc 100644 --- a/winsup/w32api/lib/ddk/Makefile.in +++ b/winsup/w32api/lib/ddk/Makefile.in @@ -141,35 +141,47 @@ lib%.a: %.o $(AR) rc $@ $*.o $(RANLIB) $@ +need-DESTDIR-compatibility = prefix libdir includedir +.PHONY: $(need-DESTDIR-compatibility) fail-DESTDIR-compatibility + +$(need-DESTDIR-compatibility): + @test -z "$(DESTDIR)" || case "$($@)" in ?:*) \ + $(MAKE) --no-print-directory reject="$@" fail-DESTDIR-compatibility ;; \ + esac + +fail-DESTDIR-compatibility: + $(error DESTDIR is not supported when $(reject) contains Win32 path `$($(reject))'; \ + try `make install $(reject)=$(shell echo '$($(reject))' | sed s,:,:$(DESTDIR),) ...' instead) + # install headers and libraries in a target specified directory. install: install-libraries install-headers -install-libraries: all - $(mkinstalldirs) $(inst_libdir) +install-libraries: all $(need-DESTDIR-compatibility) + $(mkinstalldirs) $(DESTDIR)$(inst_libdir) for i in $(LIBS); do \ - $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(inst_libdir)/$$i ; \ done -install-headers: - $(mkinstalldirs) $(inst_includedir) +install-headers: $(need-DESTDIR-compatibility) + $(mkinstalldirs) $(DESTDIR)$(inst_includedir) for i in $(HEADERS); do \ - $(INSTALL_DATA) $(srcdir)/../../include/ddk/$$i $(inst_includedir)/$$i ; \ + $(INSTALL_DATA) $(srcdir)/../../include/ddk/$$i $(DESTDIR)$(inst_includedir)/$$i ; \ done # uninstall headers and libraries from a target specified directory uninstall: uninstall-libraries uninstall-headers -uninstall-libraries: +uninstall-libraries: $(need-DESTDIR-compatibility) @for i in $(LIBS); do \ - rm -f $(inst_libdir)/$$i ; \ + rm -f $(DESTDIR)$(inst_libdir)/$$i ; \ done - rmdir $(inst_libdir) + rmdir $(DESTDIR)$(inst_libdir) -uninstall-headers: +uninstall-headers: $(need-DESTDIR-compatibility) @for i in $(HEADERS); do \ - rm -r $(inst_includedir)/$$i ; \ + rm -r $(DESTDIR)$(inst_includedir)/$$i ; \ done - rmdir $(inst_includedir) + rmdir $(DESTDIR)$(inst_includedir) dist: diff --git a/winsup/w32api/lib/directx/Makefile.in b/winsup/w32api/lib/directx/Makefile.in index a56c398d5..89a3cc602 100644 --- a/winsup/w32api/lib/directx/Makefile.in +++ b/winsup/w32api/lib/directx/Makefile.in @@ -166,35 +166,47 @@ lib%.a: %.o $(AR) rc $@ $*.o $(RANLIB) $@ +need-DESTDIR-compatibility = prefix libdir includedir +.PHONY: $(need-DESTDIR-compatibility) fail-DESTDIR-compatibility + +$(need-DESTDIR-compatibility): + @test -z "$(DESTDIR)" || case "$($@)" in ?:*) \ + $(MAKE) --no-print-directory reject="$@" fail-DESTDIR-compatibility ;; \ + esac + +fail-DESTDIR-compatibility: + $(error DESTDIR is not supported when $(reject) contains Win32 path `$($(reject))'; \ + try `make install $(reject)=$(shell echo '$($(reject))' | sed s,:,:$(DESTDIR),) ...' instead) + # install headers and libraries in a target specified directory. install: install-libraries install-headers -install-libraries: all - $(mkinstalldirs) $(inst_libdir) +install-libraries: all $(need-DESTDIR-compatibility) + $(mkinstalldirs) $(DESTDIR)$(inst_libdir) for i in $(LIBS); do \ - $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(inst_libdir)/$$i ; \ done -install-headers: - $(mkinstalldirs) $(inst_includedir) +install-headers: $(need-DESTDIR-compatibility) + $(mkinstalldirs) $(DESTDIR)$(inst_includedir) for i in $(HEADERS); do \ - $(INSTALL_DATA) $(srcdir)/../../include/directx/$$i $(inst_includedir)/$$i ; \ + $(INSTALL_DATA) $(srcdir)/../../include/directx/$$i $(DESTDIR)$(inst_includedir)/$$i ; \ done # uninstall headers and libraries from a target specified directory uninstall: uninstall-libraries uninstall-headers -uninstall-libraries: +uninstall-libraries: $(need-DESTDIR-compatibility) @for i in $(LIBS); do \ - rm -f $(inst_libdir)/$$i ; \ + rm -f $(DESTDIR)$(inst_libdir)/$$i ; \ done - rmdir $(inst_libdir) + rmdir $(DESTDIR)$(inst_libdir) -uninstall-headers: +uninstall-headers: $(need-DESTDIR-compatibility) @for i in $(HEADERS); do \ - rm -r $(inst_includedir)/$$i ; \ + rm -r $(DESTDIR)$(inst_includedir)/$$i ; \ done - rmdir $(inst_includedir) + rmdir $(DESTDIR)$(inst_includedir) dist: |