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))
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)
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)
$(SRCDIR)/acosl.c \
$(SRCDIR)/asinf.c \
$(SRCDIR)/asinh.c \
- $(SRCDIR)/asinhf.c \
- $(SRCDIR)/asinhl.c \
$(SRCDIR)/asinl.c \
$(SRCDIR)/atan2f.c \
$(SRCDIR)/atan2l.c \
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 \
$(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
$(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)
$(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
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/