OSDN Git Service

Resolve incorrect type casts in time.h.
[mingw/mingw-org-wsl.git] / Makefile.in
index e40f790..bde26c3 100644 (file)
@@ -1,13 +1,35 @@
 ##
 # @file Makefile.in
-# @copy 2012 MinGW.org project
-# @see LICENSE
-# http://mingw.git.sourceforge.net/git/gitweb.cgi?p=mingw/mingw.org-wsl;a=blob_plain;f=LICENSE/
+# Copyright (C) 2012-2013 MinGW.org Project
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+# 
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
 ##
+#
+# @configure_input@
+#
 VPATH=$(srcdir)
 PACKAGE_TARNAME=@PACKAGE_TARNAME@
 PACKAGE_VERSION=@PACKAGE_VERSION@
 PACKAGE_RELEASE=@PACKAGE_RELEASE@
+RELEASE_STATUS=@RELEASE_STATUS@
+RELEASE_REFERENCE=@RELEASE_REFERENCE@
 srcdir=@srcdir@
 top_srcdir=@top_srcdir@
 top_builddir=@top_builddir@
@@ -19,16 +41,20 @@ bindir=@bindir@
 libdir=@libdir@
 includedir=@includedir@
 docdir=@docdir@
+mingwrtdocdir=$(docdir)/../mingwrt
+w32apidocdir=$(docdir)/../w32api
 
 mkinstalldirs=@MKDIR_P@
 
-CFLAGS=@CFLAGS@
-RANLIB=@RANLIB@
-AS=@AS@
-DLLTOOL=@DLLTOOL@
-DLLTOOL_FLAGS := --as $(AS) -k --dllname
-INSTALL=@INSTALL@
-MKDIR_P=@MKDIR_P@
+CC = @CC@
+CFLAGS = @CFLAGS@
+RANLIB = @RANLIB@
+AS = @AS@
+DLLTOOL = @DLLTOOL@
+DLLTOOL_FLAGS = --as $(AS) -k --dllname
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+MKDIR_P = @MKDIR_P@
 
 INCLUDES=-I$(top_srcdir)/include -I$(srcdir)/include \
   -I$(top_srcdir)/src/libcrt/include -I$(top_srcdir)/misc/src/include \
@@ -69,6 +95,22 @@ mingwrt_lib_LIBRARIES = \
   libmingwex.a \
   libgmon.a
 
+OBJDIR := src/libcrt/crt
+mingwrt_lib_OBJECTS = \
+  $(OBJDIR)/CRT_fp10.o \
+  $(OBJDIR)/CRT_fp8.o \
+  $(OBJDIR)/CRT_noglob.o \
+  $(OBJDIR)/binmode.o \
+  $(OBJDIR)/crt2.o \
+  $(OBJDIR)/crtmt.o \
+  $(OBJDIR)/crtst.o \
+  $(OBJDIR)/dllcrt2.o \
+  $(OBJDIR)/txtmode.o
+
+OBJDIR2 := misc/gpl/profile
+mingwrt_lib_OBJECTS += \
+  $(OBJDIR2)/gcrt2.o 
+
 winapi_DEF := $(notdir $(wildcard ${top_srcdir}/lib/lib32/*.def))
 winapi_DDK_DEF := $(notdir $(wildcard $(top_srcdir)/lib/lib32/ddk/*.def))
 winapi_DIRECTX_DEF := $(notdir $(wildcard $(top_srcdir)/lib/lib32/directx/*.def))
@@ -98,8 +140,10 @@ crt0_SOURCES := \
   $(SRCDIR)/CRT_fp8.c \
   $(SRCDIR)/CRT_fp10.c \
   $(SRCDIR)/txtmode.c \
-  $(SRCDIR)/binmode.c
+  $(SRCDIR)/binmode.c \
+  $(SRCDIR)/ofmt_stub.s
 crt0_OBJECTS := $(crt0_SOURCES:.c=.o) $(SRCDIR)/crt2.o $(SRCDIR)/dllcrt2.o
+crt0_OBJECTS := $(crt0_OBJECTS:.s=.o)
 
 SRCDIR := src/libcrt/crt
 mingwm10_dll_SOURCES := \
@@ -122,12 +166,12 @@ mold_OBJECTS := $(mode_SOURCES:.c=.o)
 
 SRCDIR := misc/gpl/profile
 gcrt0_SOURCES := $(SRCDIR)/gcrt0.c
-gcrt0_OBJECTS := $(SRCDIR)/gcrt1.o $(SRCDIR)/gcrt2.o
+gcrt0_OBJECTS := $(SRCDIR)/gcrt2.o
 
 lib_OBJECTS := $(crt0_OBJECTS) $(gcrt0_OBJECTS)
 
 bin_LIBRARIES := mingwm10.dll
-doc_DOCUMENTS := README LICENSE
+doc_DOCUMENTS := ChangeLog README LICENSE NEWS TODO NOTES
 doc_DOCUMENTS_EXTRA := doc/historical/mingw doc/historical/w32api
 
 libuuid_a_SOURCES := $(addprefix src/libuuid/,$(notdir $(wildcard ${top_srcdir}/src/libuuid/*.c)))
@@ -138,9 +182,13 @@ libscrnsave_a_OBJECTS := $(libscrnsave_a_SOURCES:.c=.o)
 scrnsave_o_CFLAGS := -UUNICODE
 
 libscrnsavw_a_SOURCES := src/libscrnsave/scrnsave.c
-libscrnsavw_a_OBJECTS := src/libscrnsave/srcnsavw.o
+libscrnsavw_a_OBJECTS := src/libscrnsave/scrnsavw.o
 scrnsavw_o_CFLAGS := -DUNICODE
 
+libshell32_a_SOURCES := src/libshell32/shell32.c
+libshell32_a_OBJECTS := src/libshell32/shell32.o
+shell32_o_CFLAGS := -DUNICODE
+
 liblargeint_a_SOURCES := src/liblargeint/largeint.c
 liblargeint_a_OBJECTS := $(liblargeint_a_SOURCES:.c=.o)
 
@@ -153,6 +201,11 @@ libdxguid_a_OBJECTS := $(libdxguid_a_SOURCES:.c=.o)
 libstrmiids_a_SOURCES := misc/src/libstrmiids/strmiids.c
 libstrmiids_a_OBJECTS := $(libstrmiids_a_SOURCES:.c=.o)
 
+libws2_32_a_SOURCES := src/libws2_32/ws2_32.c
+libws2_32_a_OBJECTS := $(libws2_32_a_SOURCES:.c=.o)
+
+extra_OBJECTS := $(libws2_32_a_OBJECTS) src/libcrt/crt/ofmt_stub.o
+
 msvcrt_DEF = \
   msvcrt.def msvcr70.def msvcr71.def msvcr80.def msvcr90.def msvcr100.def \
   msvcrtd.def msvcr70d.def msvcr71d.def msvcr80d.def msvcr90d.def msvcr100d.def
@@ -312,8 +365,6 @@ math_SOURCES := \
   $(SRCDIR)/acosl.c \
   $(SRCDIR)/asinf.c \
   $(SRCDIR)/asinh.c \
-  $(SRCDIR)/asinhf.c \
-  $(SRCDIR)/asinhl.c \
   $(SRCDIR)/asinl.c \
   $(SRCDIR)/atan2f.c \
   $(SRCDIR)/atan2l.c \
@@ -383,7 +434,7 @@ math_SOURCES := \
   $(SRCDIR)/ldexpl.c \
   $(MSRCDIR)/lgamma.c \
   $(MSRCDIR)/lgammaf.c \
-  $(SRCDIR)/lgammal.c \
+  $(MSRCDIR)/lgammal.c \
   $(SRCDIR)/llrint.c \
   $(SRCDIR)/llrintf.c \
   $(SRCDIR)/llrintl.c \
@@ -403,7 +454,9 @@ math_SOURCES := \
   $(SRCDIR)/lrint.c \
   $(SRCDIR)/lrintf.c \
   $(SRCDIR)/lrintl.c \
-  $(SRCDIR)/lround_generic.c \
+  $(SRCDIR)/lround.c \
+  $(SRCDIR)/lroundl.c \
+  $(SRCDIR)/lroundf.c \
   $(SRCDIR)/modff.c \
   $(SRCDIR)/modfl.c \
   $(SRCDIR)/nearbyint.S \
@@ -428,12 +481,14 @@ math_SOURCES := \
   $(SRCDIR)/rint.c \
   $(SRCDIR)/rintf.c \
   $(SRCDIR)/rintl.c \
-  $(SRCDIR)/round_generic.c \
-  $(SRCDIR)/s_erf.c \
+  $(SRCDIR)/round.c \
+  $(SRCDIR)/roundf.c \
+  $(SRCDIR)/roundl.c \
+  $(MSRCDIR)/s_erf.c \
   $(SRCDIR)/scalbn.S \
   $(SRCDIR)/scalbnf.S \
   $(SRCDIR)/scalbnl.S \
-  $(SRCDIR)/sf_erf.c \
+  $(MSRCDIR)/sf_erf.c \
   $(SRCDIR)/signbit.c \
   $(SRCDIR)/signbitf.c \
   $(SRCDIR)/signbitl.c \
@@ -449,7 +504,7 @@ math_SOURCES := \
   $(SRCDIR)/tanl.S \
   $(MSRCDIR)/tgamma.c \
   $(MSRCDIR)/tgammaf.c \
-  $(SRCDIR)/tgammal.c \
+  $(MSRCDIR)/tgammal.c \
   $(SRCDIR)/trunc.c \
   $(SRCDIR)/truncf.c \
   $(SRCDIR)/truncl.c
@@ -459,7 +514,8 @@ misc_SOURCES := \
   $(SRCDIR)/getopt.c \
   $(SRCDIR)/membarrier.c \
   $(SRCDIR)/mingw-aligned-malloc.c \
-  $(SRCDIR)/mingw-fseek.c
+  $(SRCDIR)/mingw-fseek.c \
+  $(SRCDIR)/glob.c
 
 SRCDIR := src/libcrt/posix/libgen
 posix_libgen_SOURCES := $(SRCDIR)/basename.c $(SRCDIR)/dirname.c
@@ -483,6 +539,7 @@ search_SOURCES := \
   $(SRCDIR)/twalk.c
 
 SRCDIR := src/libcrt/stdio
+MSRCDIR := misc/src/libcrt/stdio
 stdio_SOURCES := \
   $(SRCDIR)/btowc.c \
   $(SRCDIR)/fopen64.c \
@@ -490,7 +547,7 @@ stdio_SOURCES := \
   $(SRCDIR)/fseeko64.c \
   $(SRCDIR)/ftello64.c \
   $(SRCDIR)/lseek64.c \
-  $(SRCDIR)/pformat.c \
+  $(MSRCDIR)/pformat.c \
   $(SRCDIR)/printf.c \
   $(SRCDIR)/snprintf.c \
   $(SRCDIR)/snwprintf.c \
@@ -565,6 +622,10 @@ libmingwex_a_SOURCES := \
 libmingwex_a_OBJECTS := $(libmingwex_a_SOURCES:.c=.o)
 libmingwex_a_OBJECTS := $(libmingwex_a_OBJECTS:.S=.o)
 
+SRCDIR := src/libcrt/math
+libmingwex_a_OBJECTS := $(libmingwex_a_OBJECTS) $(SRCDIR)/asinhl.o
+libmingwex_a_OBJECTS := $(libmingwex_a_OBJECTS) $(SRCDIR)/asinhf.o
+
 SRCDIR := misc/src/libdinput
 libdinput_a_SOURCES := \
   $(SRCDIR)/dinput_joy.c \
@@ -592,7 +653,7 @@ ALL_SOURCES := \
   $(libdxerr8_a_SOURCES) \
   $(libdxerr9_a_SOURCES)
 
-all: $(msvcrt_DEF) $(moldname_DEF) $(lib_LIBRARIES) $(bin_LIBRARIES) $(lib_OBJECTS)
+all: $(extra_OBJECTS) $(msvcrt_DEF) $(moldname_DEF) $(lib_LIBRARIES) $(bin_LIBRARIES) $(lib_OBJECTS)
 
 $(msvcrt_DEF): lib/lib32/msvcrt.def.in
        N=`echo $@ | sed -e 's|\([a-z]*\)\([0-9]*\).*|\1|'`; \
@@ -604,10 +665,9 @@ $(msvcrt_DEF): lib/lib32/msvcrt.def.in
        $(CC) -DRUNTIME=$(basename $(notdir $@)) \
                -D__FILENAME__=$@ \
                -D__$(basename $(notdir $@))__=1 \
-               -D__MSVCRT__ -C -E -P -xc-header \
+               -C -E -P -xc-header \
                $? > $@
 
-
 $(moldname_DEF): lib/lib32/moldname.def.in
        N=`echo $@ | sed -e 's|\([a-z]*\)\([0-9]*\).*|\1|'`; \
        test "$$N" == "msvcr" && N="msvcrt"; \
@@ -619,7 +679,7 @@ $(moldname_DEF): lib/lib32/moldname.def.in
        $(CC) -DRUNTIME=$(basename $(notdir $@)) \
                -D__FILENAME__=$$F \
                -D__$(basename $(notdir $@))__=1 \
-               -D__MSVCRT__ -C -E -P -xc-header \
+               -C -E -P -xc-header \
                $? > $@
 
 SRCDIR := lib/lib32
@@ -645,11 +705,16 @@ $(notdir $(winapi_lib_DIRECTX_LIBRARIES)): $(addprefix lib/lib32/directx/,$(wina
        $(DLLTOOL) $(DLLTOOL_FLAGS) $(subst lib,,$(@:.a=.dll)) --def $(addprefix $(top_srcdir)/lib/lib32/directx/,$(subst lib,,$(@:.a=.def))) --output-lib $@
        $(RANLIB) $@
 
+libmoldname.a: moldname.def
+       @echo Making library $@ from $?.
+       DLLNAME="msvcrt.dll"; \
+       $(DLLTOOL) $(DLLTOOL_FLAGS) $${DLLNAME} -U --def $< --output-lib $@
+       $(RANLIB) $@
+
 libmoldname%.a: moldname%.def
        @echo Making library $@ from $?.
-       N=`echo $@ | sed -e 's|lib\([a-z]*\)\([0-9]*\).*|\1|'`; \
        V=`echo $@ | sed -e 's|lib\([a-z]*\)\([0-9]*\).*|\2|'`; \
-       DLLNAME="$${N}$${V}.dll"; \
+       DLLNAME="msvcr$${V}.dll"; \
        $(DLLTOOL) $(DLLTOOL_FLAGS) $${DLLNAME} -U --def $< --output-lib $@
        $(RANLIB) $@
 
@@ -658,10 +723,18 @@ lib%.a: %.def
        N=`echo $@ | sed -e 's|lib\([a-z]*\)\([0-9]*\).*|\1|'`; \
        V=`echo $@ | sed -e 's|lib\([a-z]*\)\([0-9]*\).*|\2|'`; \
        DLLNAME="$${N}$${V}.dll"; \
-       $(DLLTOOL) $(DLLTOOL_FLAGS) $${DLLNAME} --def $< --output-lib $@
+       $(DLLTOOL) $(DLLTOOL_FLAGS) $${DLLNAME} --def $< --output-lib $@ ; \
+       if [[ $${DLLNAME} = msvcrt.dll || \
+             $${DLLNAME} = msvcrtd.dll || \
+             $${DLLNAME} = msvcr70.dll || \
+             $${DLLNAME} = msvcr70d.dll || \
+             $${DLLNAME} = msvcr71.dll || \
+             $${DLLNAME} = msvcr71d.dll ]]; then \
+         $(AR) rc $@ src/libcrt/crt/ofmt_stub.o; \
+       fi
        $(RANLIB) $@
 
-lib%.a: %.o
+lib%.a: src/lib%/%.o
        @echo Making library $@ from $?.
        $(AR) rc $@ $*.o
        $(RANLIB) $@
@@ -670,17 +743,24 @@ lib%.a: %.o
        $(MKDIR_P) $(@D)
        $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
 
-SRCDIR := src/libcrt/crt
-$(SRCDIR)/crt1.o $(SRCDIR)/dllcrt1.o:
+%.o : %.s
+       $(MKDIR_P) $(@D)
+       $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
+
+SRCDIR := src/libcrt/math
+$(SRCDIR)/%f.o: $(SRCDIR)/%.c
        $(MKDIR_P) $(@D)
-       $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -U__MSVCRT__ -D__CRTDLL__ -o $@ $<
+       $(CC) -c -D FUNCTION=$(@F:.o=) $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
 
+$(SRCDIR)/%l.o: $(SRCDIR)/%.c
+       $(MKDIR_P) $(@D)
+       $(CC) -c -D FUNCTION=$(@F:.o=) $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
+
+SRCDIR := src/libcrt/crt
 $(SRCDIR)/crt2.o $(SRCDIR)/dllcrt2.o:
        $(MKDIR_P) $(@D)
-       $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -D__MSVCRT__ -U__CRTDLL__ -o $@ $<
+       $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
 
-$(SRCDIR)/crt1.o: $(SRCDIR)/crt1.c
-$(SRCDIR)/dllcrt1.o: $(SRCDIR)/dllcrt1.c
 $(SRCDIR)/crt2.o: $(SRCDIR)/crt1.c
 $(SRCDIR)/dllcrt2.o: $(SRCDIR)/dllcrt1.c
 
@@ -693,22 +773,23 @@ $(libscrnsavw_a_OBJECTS): $(libscrnsavw_a_SOURCES)
        $(MKDIR_P) $(@D)
        $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $(scrnsavw_o_CFLAGS) -o $@ $<
 
-SRCDIR := misc/gpl/profile
-$(SRCDIR)/gcrt1.o:
-       mkdir -p $(@D)
-       $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -U__MSVCRT__ -D__CRTDLL__ -o $@ $<
+SRCDIR := src/libshell32
+$(libshell32_a_OBJECTS): $(libshell32_a_SOURCES)
+       $(MKDIR_P) $(@D)
+       $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $(shell32_o_CFLAGS) -o $@ $<
 
+SRCDIR := misc/gpl/profile
 $(SRCDIR)/gcrt2.o:
        mkdir -p $(@D)
-       $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -D__MSVCRT__ -U__CRTDLL__ -o $@ $<
+       $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
 
-$(SRCDIR)/gcrt1.o $(SRCDIR)/gcrt2.o: $(SRCDIR)/gcrt0.c
+$(SRCDIR)/gcrt2.o: $(SRCDIR)/gcrt0.c
 
 libmingw32.a: $(libmingw32_a_OBJECTS)
        $(AR) rc $@ $(libmingw32_a_OBJECTS)
        $(RANLIB) $@
 
-libmingwex.a: $(libmingwex_a_OBJECTS) $(winapi_lib_LIBRARIES)
+libmingwex.a: $(libmingwex_a_OBJECTS)
        $(AR) rc $@ $(libmingwex_a_OBJECTS)
        $(RANLIB) $@
 
@@ -747,14 +828,11 @@ libdinput.a libdinput8.a: $(libdinput_a_OBJECTS)
        $(AR) rc $@ $(libdinput_a_OBJECTS)
        $(RANLIB) $@
 
-$(libdinput_a_OBJECTS) \
-$(libdmoguids_a_OBJECTS) \
-$(libdxguid_a_OBJECTS) \
-$(libstrmiids_a_OBJECTS): \
-  $(libdinput_a_SOURCES) \
-  $(libdmoguids_a_SOURCES) \
-  $(libdxguid_a_SOURCES) \
-  $(libstrmiids_a_SOURCES)
+$(libdinput_a_OBJECTS) : $(libdinput_a_SOURCES)
+$(libdmoguids_a_OBJECTS) : $(libdmoguids_a_SOURCES)
+$(libdxguid_a_OBJECTS) : $(libdxguid_a_SOURCES)
+$(libstrmiids_a_OBJECTS) : $(libstrmiids_a_SOURCES)
+$(libws2_32_a_OBJECTS) : $(libws2_32_a_SOURCES)
        $(MKDIR_P) $(@D)
        $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
 
@@ -778,6 +856,22 @@ libstrmiids.a: $(libstrmiids_a_OBJECTS)
        $(AR) rc $@ $(libstrmiids_a_OBJECTS)
        $(RANLIB) $@
 
+# Note this target will override the previous global rules and give a warning
+# from the make process. It is needed due to the extra ws2_32.o object file.
+libws2_32.a: lib/lib32/ws2_32.def $(libws2_32_a_OBJECTS)
+       @echo Making library $@ from $(subst lib,,$(@:.a=.def)).
+       $(DLLTOOL) $(DLLTOOL_FLAGS) $(subst lib,,$(@:.a=.dll)) --def $(addprefix $(top_srcdir)/lib/lib32/,$(subst lib,,$(@:.a=.def))) --output-lib $@
+       $(AR) rc $@ $(libws2_32_a_OBJECTS)
+       $(RANLIB) $@
+
+# Note this target will override the previous global rules and give a warning
+# from the make process. It is needed due to the extra shell32.o object file.
+libshell32.a: lib/lib32/shell32.def $(libshell32_a_OBJECTS)
+       @echo Making library $@ from $(subst lib,,$(@:.a=.def)).
+       $(DLLTOOL) $(DLLTOOL_FLAGS) $(subst lib,,$(@:.a=.dll)) --def $(addprefix $(top_srcdir)/lib/lib32/,$(subst lib,,$(@:.a=.def))) --output-lib $@
+       $(AR) rc $@ $(libshell32_a_OBJECTS)
+       $(RANLIB) $@
+
 _libm_dummy.c:
        @echo "static int __mingw_libm_dummy;" > _libm_dummy.c
 
@@ -836,34 +930,34 @@ install-dirs: $(need-DESTDIR-compatibility)
 
 install-libs: all
        for LIB in $(lib_LIBRARIES); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$LIB $(DESTDIR)$(libdir)/$$LIB ; \
+         $(INSTALL_DATA) $$LIB $(DESTDIR)$(libdir)/$$LIB ; \
        done
 
 install-objs: all
        for OBJ in $(lib_OBJECTS); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$OBJ $(DESTDIR)$(libdir) ; \
+         $(INSTALL_DATA) $$OBJ $(DESTDIR)$(libdir) ; \
        done
 
 install-docs:
        for DOC in $(doc_DOCUMENTS); do \
-         $(INSTALL) $(INSTALL_FLAGS) $(top_srcdir)/$$DOC $(DESTDIR)$(docdir)/$$DOC ; \
+         $(INSTALL_DATA) $(top_srcdir)/$$DOC $(DESTDIR)$(docdir)/$$DOC ; \
        done
        cp -af $(top_srcdir)/doc/historical $(DESTDIR)$(docdir) ;
 
 install-includes:
        for INC in $(top_srcdir)/include/*.h; do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir) ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir) ; \
        done
        for I in `find $(top_srcdir)/include/* -type d`; do \
          J=`basename $$I`; \
          for INC in $$I/*.h; do \
-           $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/$$J ; \
+           $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/$$J ; \
          done \
        done
 
 install-bins: all
        for BIN in $(bin_LIBRARIES); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$BIN $(DESTDIR)$(bindir)/$$BIN ; \
+         $(INSTALL_DATA) $$BIN $(DESTDIR)$(bindir)/$$BIN ; \
        done
 
 install: all \
@@ -877,17 +971,17 @@ install: all \
 install-mingwrt-dirs: $(need-DESTDIR-compatibility)
        $(mkinstalldirs) $(DESTDIR)$(bindir)
        $(mkinstalldirs) $(DESTDIR)$(libdir)
-       $(mkinstalldirs) $(DESTDIR)$(prefix)/share/doc/mingwrt
+       $(mkinstalldirs) $(DESTDIR)$(mingwrtdocdir)
+       $(mkinstalldirs) $(DESTDIR)$(mingwrtdocdir)/historical
+       rmdir $(DESTDIR)$(mingwrtdocdir)/../mingw-org-wsl
        $(mkinstalldirs) $(DESTDIR)$(includedir)
        $(mkinstalldirs) $(DESTDIR)$(includedir)/sys
 
 mingwrt_bin_LIBRARIES := mingwm10.dll
-mingwrt_lib_LIBRARIES := $(wildcard libmsvcr*.a)
-mingwrt_lib_LIBRARIES += $(wildcard libmoldname*.a)
 mingwrt_lib_INCLUDES := \
-  _mingw.h   dirent.h  getopt.h    math.h      setjmp.h  strings.h  varargs.h \
-  assert.h   dos.h     inttypes.h  mbctype.h   share.h   wchar.h \
-  complex.h  errno.h   io.h        mbstring.h  signal.h  tchar.h    wctype.h \
+  _mingw.h   dirent.h  glob.h      getopt.h    math.h    setjmp.h  strings.h \
+  assert.h   dos.h     inttypes.h  mbctype.h   share.h   wchar.h   varargs.h \
+  complex.h  errno.h   io.h        mbstring.h  signal.h  tchar.h   wctype.h \
   conio.h    excpt.h   libgen.h    mem.h       stdint.h  time.h \
   ctype.h    fcntl.h   limits.h    memory.h    stdio.h   unistd.h \
   dir.h      fenv.h    locale.h    process.h   stdlib.h  utime.h \
@@ -900,23 +994,21 @@ mingwrt_lib_SYS_INCLUDES := \
 
 install-mingwrt: install-mingwrt-dirs
        for BIN in $(mingwrt_bin_LIBRARIES); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$BIN $(DESTDIR)$(bindir)/ ; \
+         $(INSTALL_DATA) $$BIN $(DESTDIR)$(bindir)/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/include/,$(mingwrt_lib_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/ ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/include/sys/,$(mingwrt_lib_SYS_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/sys/ ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/sys/ ; \
        done
        for LIB in $(mingwrt_lib_LIBRARIES); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$LIB $(DESTDIR)$(libdir)/ ; \
+         $(INSTALL_DATA) $$LIB $(DESTDIR)$(libdir)/ ; \
        done
        for OBJ in $(mingwrt_lib_OBJECTS); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$OBJ $(DESTDIR)$(libdir)/ ; \
+         $(INSTALL_DATA) $$OBJ $(DESTDIR)$(libdir)/ ; \
        done
-       cp -af $(top_srcdir)/doc/historical/mingw/* $(DESTDIR)$(prefix)/share/doc/mingwrt ;
-       rm -f $(DESTDIR)$(prefix)/share/doc/mingwrt/ChangeLog
-       rm -rf $(DESTDIR)$(prefix)/share/doc/mingwrt/man
+       cp -af $(top_srcdir)/doc/historical/mingw/* $(DESTDIR)$(mingwrtdocdir)/historical/ ;
 
 dist: all dist-mingwrt dist-w32api dist-wsl
 
@@ -932,27 +1024,55 @@ dist-mingwrt-install: all
        $(MAKE) prefix=./dist/mingwrt/installed install-mingwrt
 
 dist-mingwrt-dll: dist-mingwrt-mkdir dist-mingwrt-install
+ifeq ($(RELEASE_STATUS),prod)
        cd ./dist/mingwrt/installed ; \
        tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-dll.tar.lzma bin/*.dll
+else
+       cd ./dist/mingwrt/installed ; \
+       tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-dll.tar.lzma bin/*.dll
+endif
 
 dist-mingwrt-dev: dist-mingwrt-mkdir dist-mingwrt-install
+ifeq ($(RELEASE_STATUS),prod)
        cd ./dist/mingwrt/installed ; \
        tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-dev.tar.lzma include/ lib/
+else
+       cd ./dist/mingwrt/installed ; \
+       tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-dev.tar.lzma include/ lib/
+endif
 
-$(DESTDIR)$(prefix)/share/doc/mingwrt/DISCLAIMER: dist-mingwrt-mkdir dist-mingwrt-install
-       cp $(top_srcdir)/doc/historical/mingw/DISCLAIMER $(DESTDIR)$(prefix)/share/doc/mingwrt/
+$(DESTDIR)$(mingwrtdocdir)/LICENSE: dist-mingwrt-mkdir dist-mingwrt-install
+       cp $(top_srcdir)/LICENSE $(DESTDIR)$(mingwrtdocdir)
 
-dist-mingwrt-lic: $(DESTDIR)$(prefix)/share/doc/mingwrt/DISCLAIMER
+dist-mingwrt-lic: $(DESTDIR)$(mingwrtdocdir)/LICENSE
+ifeq ($(RELEASE_STATUS),prod)
+       cd ./dist/mingwrt/installed ; \
+       tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-lic.tar.lzma share/doc/mingwrt/LICENSE
+else
        cd ./dist/mingwrt/installed ; \
-       tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-lic.tar.lzma share/doc/mingwrt/DISCLAIMER
+       tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-lic.tar.lzma share/doc/mingwrt/LICENSE
+endif
 
 dist-mingwrt-doc: dist-mingwrt-install
+ifeq ($(RELEASE_STATUS),prod)
+       for DOC in $(doc_DOCUMENTS); do \
+         $(INSTALL) $(INSTALL_FLAGS) $(top_srcdir)/$$DOC $(DESTDIR)$(mingwrtdocdir)/$$DOC ; \
+       done
        cd ./dist/mingwrt/installed ; \
-       rm -f share/doc/mingwrt/DISCLAIMER ; \
+       rm -f share/doc/mingwrt/LICENSE ; \
        tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-doc.tar.lzma share/doc/mingwrt
+else
+       for DOC in $(doc_DOCUMENTS); do \
+         $(INSTALL) $(INSTALL_FLAGS) $(top_srcdir)/$$DOC $(DESTDIR)$(mingwrtdocdir)/$$DOC ; \
+       done
+       cd ./dist/mingwrt/installed ; \
+       rm -f share/doc/mingwrt/LICENSE ; \
+       tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-doc.tar.lzma share/doc/mingwrt
+endif
 
 dist-mingwrt-src:
-       cp -af $(top_srcdir) $(DESTDIR)$(prefix)
+ifeq ($(RELEASE_STATUS),prod)
+       cp -af $(top_srcdir) $(DESTDIR)$(prefix)/mingw.org-wsl
        cd $(DESTDIR)$(prefix)/mingw.org-wsl ; \
        rm -rf .git autom4te.cache ; \
        rm -f config.log config.status config.cache config.h ; \
@@ -965,11 +1085,28 @@ dist-mingwrt-src:
        rm -rf mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src ; \
        mv mingw.org-wsl mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src ; \
        tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src.tar.lzma mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src
+else
+       cp -af $(top_srcdir) $(DESTDIR)$(prefix)/mingw.org-wsl
+       cd $(DESTDIR)$(prefix)/mingw.org-wsl ; \
+       rm -rf .git autom4te.cache ; \
+       rm -f config.log config.status config.cache config.h ; \
+       rm -f .gitignore core a.out Makefile ; \
+       find . -type f -name \*~ -delete ; \
+       find . -type f -name \*.log -delete ; \
+       find . -type f -name \*.bak -delete ; \
+       find . -type f -name .\*.swp -delete ; \
+       cd .. ; \
+       rm -rf mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-src ; \
+       mv mingw.org-wsl mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-src ; \
+       tar acf ../packages/mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-src.tar.lzma mingwrt-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-src
+endif
 
 install-w32api-dirs: $(need-DESTDIR-compatibility)
        $(mkinstalldirs) $(DESTDIR)$(bindir)
        $(mkinstalldirs) $(DESTDIR)$(libdir)
-       $(mkinstalldirs) $(DESTDIR)$(prefix)/share/doc/w32api
+       $(mkinstalldirs) $(DESTDIR)$(w32apidocdir)
+       $(mkinstalldirs) $(DESTDIR)$(w32apidocdir)/historical
+       rmdir $(DESTDIR)$(w32apidocdir)/../mingw-org-wsl
        $(mkinstalldirs) $(DESTDIR)$(includedir)
        $(mkinstalldirs) $(DESTDIR)$(includedir)/ddk
        $(mkinstalldirs) $(DESTDIR)$(includedir)/gdiplus
@@ -1063,25 +1200,24 @@ w32api_lib_LIBRARIES := \
 
 install-w32api: install-w32api-dirs
        for INC in $(addprefix $(top_srcdir)/include/,$(w32api_lib_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/ ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/include/ddk/,$(w32api_lib_DDK_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/ddk/ ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/ddk/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/include/gdiplus/,$(w32api_lib_GDIPLUS_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/gdiplus/ ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/gdiplus/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/misc/include/GL/,$(w32api_lib_GL_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/GL/ ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/GL/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/include/directx/,$(w32api_lib_DIRECTX_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir) ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir) ; \
        done
        for LIB in $(w32api_lib_LIBRARIES); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$LIB $(DESTDIR)$(libdir)/ ; \
+         $(INSTALL_DATA) $$LIB $(DESTDIR)$(libdir)/ ; \
        done
-       cp -af $(top_srcdir)/doc/historical/w32api/* $(DESTDIR)$(prefix)/share/doc/w32api ;
-       rm -f $(DESTDIR)$(prefix)/share/doc/w32api/ChangeLog
+       cp -af $(top_srcdir)/doc/historical/w32api/* $(DESTDIR)$(w32apidocdir)/historical/ ;
 
 dist-w32api:
        $(MAKE) prefix=./dist/w32api/installed _dist-w32api-all_
@@ -1095,19 +1231,46 @@ dist-w32api-install: all dist-w32api-mkdir
        $(MAKE) prefix=./dist/w32api/installed install-w32api
 
 dist-w32api-dev: dist-w32api-install
+ifeq ($(RELEASE_STATUS),prod)
        cd ./dist/w32api/installed ; \
        tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-dev.tar.lzma include/ lib/
+else
+       cd ./dist/w32api/installed ; \
+       tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-dev.tar.lzma include/ lib/
+endif
 
-dist-w32api-lic: dist-w32api-install
+$(DESTDIR)$(w32apidocdir)/LICENSE: dist-w32api-mkdir dist-w32api-install
+       cp $(top_srcdir)/LICENSE $(DESTDIR)$(w32apidocdir)
+
+dist-w32api-lic: $(DESTDIR)$(w32apidocdir)/LICENSE
+ifeq ($(RELEASE_STATUS),prod)
+       cd ./dist/w32api/installed ; \
+       tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-lic.tar.lzma share/doc/w32api/LICENSE
+else
        cd ./dist/w32api/installed ; \
-       tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-lic.tar.lzma share/doc/w32api/README.w32api
+       tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-lic.tar.lzma share/doc/w32api/LICENSE
+endif
 
 dist-w32api-doc: dist-w32api-install
+ifeq ($(RELEASE_STATUS),prod)
+       for DOC in $(doc_DOCUMENTS); do \
+         $(INSTALL) $(INSTALL_FLAGS) $(top_srcdir)/$$DOC $(DESTDIR)$(w32apidocdir)/$$DOC ; \
+       done
+       cd ./dist/w32api/installed ; \
+       rm -f share/doc/w32api/LICENSE ; \
+       tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-doc.tar.lzma share/doc/w32api
+else
+       for DOC in $(doc_DOCUMENTS); do \
+         $(INSTALL) $(INSTALL_FLAGS) $(top_srcdir)/$$DOC $(DESTDIR)$(w32apidocdir)/$$DOC ; \
+       done
        cd ./dist/w32api/installed ; \
-       tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-doc.tar.lzma share/doc/w32api/CONTRIBUTIONS share/doc/w32api/TODO
+       rm -f share/doc/w32api/LICENSE ; \
+       tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-doc.tar.lzma share/doc/w32api
+endif
 
 dist-w32api-src:
-       cp -af $(top_srcdir) $(DESTDIR)$(prefix)
+ifeq ($(RELEASE_STATUS),prod)
+       cp -af $(top_srcdir) $(DESTDIR)$(prefix)/mingw.org-wsl
        cd $(DESTDIR)$(prefix)/mingw.org-wsl ; \
        rm -rf .git autom4te.cache ; \
        rm -f config.log config.status config.cache config.h ; \
@@ -1120,11 +1283,27 @@ dist-w32api-src:
        rm -rf w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src ; \
        mv mingw.org-wsl w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src ; \
        tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src.tar.lzma w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src
+else
+       cp -af $(top_srcdir) $(DESTDIR)$(prefix)/mingw.org-wsl
+       cd $(DESTDIR)$(prefix)/mingw.org-wsl ; \
+       rm -rf .git autom4te.cache ; \
+       rm -f config.log config.status config.cache config.h ; \
+       rm -f .gitignore core a.out Makefile ; \
+       find . -type f -name \*~ -delete ; \
+       find . -type f -name \*.log -delete ; \
+       find . -type f -name \*.bak -delete ; \
+       find . -type f -name .\*.swp -delete ; \
+       cd .. ; \
+       rm -rf w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-src ; \
+       mv mingw.org-wsl w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-src ; \
+       tar acf ../packages/w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-src.tar.lzma w32api-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-src
+endif
 
 install-wsl-dirs: $(need-DESTDIR-compatibility)
        $(mkinstalldirs) $(DESTDIR)$(bindir)
        $(mkinstalldirs) $(DESTDIR)$(libdir)
        $(mkinstalldirs) $(DESTDIR)$(docdir)
+       $(mkinstalldirs) $(DESTDIR)$(docdir)/historical
        $(mkinstalldirs) $(DESTDIR)$(includedir)
        $(mkinstalldirs) $(DESTDIR)$(includedir)/sys
        $(mkinstalldirs) $(DESTDIR)$(includedir)/ddk
@@ -1133,38 +1312,38 @@ install-wsl-dirs: $(need-DESTDIR-compatibility)
 
 install-wsl: install-wsl-dirs
        for BIN in $(mingwrt_bin_LIBRARIES); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$BIN $(DESTDIR)$(bindir)/ ; \
+         $(INSTALL_DATA) $$BIN $(DESTDIR)$(bindir)/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/include/,$(mingwrt_lib_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/ ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/include/sys/,$(mingwrt_lib_SYS_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/sys/ ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/sys/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/include/,$(w32api_lib_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/ ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/include/ddk/,$(w32api_lib_DDK_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/ddk/ ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/ddk/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/include/gdiplus/,$(w32api_lib_GDIPLUS_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/gdiplus/ ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/gdiplus/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/misc/include/GL/,$(w32api_lib_GL_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir)/GL/ ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir)/GL/ ; \
        done
        for INC in $(addprefix $(top_srcdir)/include/directx/,$(w32api_lib_DIRECTX_INCLUDES)); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$INC $(DESTDIR)$(includedir) ; \
+         $(INSTALL_DATA) $$INC $(DESTDIR)$(includedir) ; \
        done
        for LIB in $(mingwrt_lib_LIBRARIES) $(w32api_lib_LIBRARIES); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$LIB $(DESTDIR)$(libdir)/ ; \
+         $(INSTALL_DATA) $$LIB $(DESTDIR)$(libdir)/ ; \
        done
        for OBJ in $(mingwrt_lib_OBJECTS); do \
-         $(INSTALL) $(INSTALL_FLAGS) $$OBJ $(DESTDIR)$(libdir)/ ; \
+         $(INSTALL_DATA) $$OBJ $(DESTDIR)$(libdir)/ ; \
        done
        cp -af $(top_srcdir)/LICENSE $(DESTDIR)$(docdir)
        cp -af $(top_srcdir)/README $(DESTDIR)$(docdir)
-       cp -af $(top_srcdir)/doc/historical $(DESTDIR)$(docdir)
+       cp -af $(top_srcdir)/doc/historical/* $(DESTDIR)$(docdir)/historical
 
 dist-wsl:
        $(MAKE) prefix=./dist/wsl/installed _dist-wsl-all_
@@ -1178,23 +1357,44 @@ dist-wsl-install: all dist-wsl-mkdir
        $(MAKE) prefix=./dist/wsl/installed install-wsl
 
 dist-wsl-dll: dist-wsl-install
+ifeq ($(RELEASE_STATUS),prod)
        cd ./dist/wsl/installed ; \
        tar acf ../packages/mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-dll.tar.lzma bin/*.dll ;
+else
+       cd ./dist/wsl/installed ; \
+       tar acf ../packages/$(RELEASE_STATUS)_mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-dll.tar.lzma bin/*.dll ;
+endif
 
 dist-wsl-dev: dist-wsl-install
+ifeq ($(RELEASE_STATUS),prod)
+       cd ./dist/wsl/installed ; \
+       tar acf ../packages/$(RELEASE_STATUS)_mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-dev.tar.lzma include/ lib/
+else
        cd ./dist/wsl/installed ; \
-       tar acf ../packages/mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-dev.tar.lzma include/ lib/
+       tar acf ../packages/$(RELEASE_STATUS)_mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-dev.tar.lzma include/ lib/
+endif
 
 dist-wsl-lic: dist-wsl-install
+ifeq ($(RELEASE_STATUS),prod)
        cd ./dist/wsl/installed ; \
        tar acf ../packages/mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-lic.tar.lzma share/doc/mingw.org-wsl/LICENSE
+else
+       cd ./dist/wsl/installed ; \
+       tar acf ../packages/$(RELEASE_STATUS)_mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-lic.tar.lzma share/doc/mingw.org-wsl/LICENSE
+endif
 
 dist-wsl-doc: dist-wsl-install
+ifeq ($(RELEASE_STATUS),prod)
        cd ./dist/wsl/installed ; \
        tar acf ../packages/mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-doc.tar.lzma share/doc/mingw.org-wsl/README
+else
+       cd ./dist/wsl/installed ; \
+       tar acf ../packages/$(RELEASE_STATUS)_mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-doc.tar.lzma share/doc/mingw.org-wsl/README
+endif
 
 dist-wsl-src: dist-wsl-install
-       cp -af $(top_srcdir) $(DESTDIR)$(prefix)
+ifeq ($(RELEASE_STATUS),prod)
+       cp -af $(top_srcdir) $(DESTDIR)$(prefix)/mingw.org-wsl
        cd $(DESTDIR)$(prefix)/mingw.org-wsl ; \
        rm -rf .git autom4te.cache ; \
        rm -f config.log config.status config.cache config.h ; \
@@ -1207,3 +1407,30 @@ dist-wsl-src: dist-wsl-install
        rm -rf mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src ; \
        mv mingw.org-wsl mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src ; \
        tar acf ../packages/mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src.tar.lzma mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-src
+else
+       cp -af $(top_srcdir) $(DESTDIR)$(prefix)/mingw.org-wsl
+       cd $(DESTDIR)$(prefix)/mingw.org-wsl ; \
+       rm -rf .git autom4te.cache ; \
+       rm -f config.log config.status config.cache config.h ; \
+       rm -f .gitignore core a.out Makefile ; \
+       find . -type f -name \*~ -delete ; \
+       find . -type f -name \*.log -delete ; \
+       find . -type f -name \*.bak -delete ; \
+       find . -type f -name .\*.swp -delete ; \
+       cd .. ; \
+       rm -rf $(RELEASE_STATUS)_mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-src ; \
+       mv mingw.org-wsl $(RELEASE_STATUS)_mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-src ; \
+       tar acf ../packages/$(RELEASE_STATUS)_mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-src.tar.lzma $(RELEASE_STATUS)_mingw.org-wsl-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)-mingw32-$(RELEASE_STATUS)-$(RELEASE_REFERENCE)-src
+endif
+
+clean-dist: clean-dist-mingwrt clean-dist-w32api clean-dist-wsl
+       rm -rf dist/
+
+clean-dist-mingwrt:
+       rm -rf dist/mingwrt/
+
+clean-dist-w32api:
+       rm -rf dist/w32api/
+
+clean-dist-wsl:
+       rm -rf dist/wsl/