OSDN Git Service

Resolve incorrect type casts in time.h.
[mingw/mingw-org-wsl.git] / Makefile.in
index 83b415c..bde26c3 100644 (file)
@@ -53,6 +53,7 @@ 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 \
@@ -94,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))
@@ -149,7 +166,7 @@ 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)
 
@@ -168,6 +185,10 @@ libscrnsavw_a_SOURCES := src/libscrnsave/scrnsave.c
 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)
 
@@ -344,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 \
@@ -603,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 \
@@ -724,13 +747,20 @@ lib%.a: src/lib%/%.o
        $(MKDIR_P) $(@D)
        $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
 
+SRCDIR := src/libcrt/math
+$(SRCDIR)/%f.o: $(SRCDIR)/%.c
+       $(MKDIR_P) $(@D)
+       $(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) -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
 
@@ -743,12 +773,17 @@ $(libscrnsavw_a_OBJECTS): $(libscrnsavw_a_SOURCES)
        $(MKDIR_P) $(@D)
        $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $(scrnsavw_o_CFLAGS) -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) -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)
@@ -829,6 +864,14 @@ libws2_32.a: lib/lib32/ws2_32.def $(libws2_32_a_OBJECTS)
        $(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
 
@@ -887,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 \
@@ -951,19 +994,19 @@ 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)$(mingwrtdocdir)/historical/ ;
 
@@ -1157,22 +1200,22 @@ 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)$(w32apidocdir)/historical/ ;
 
@@ -1269,34 +1312,34 @@ 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)
@@ -1379,3 +1422,15 @@ else
        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/