newlib/winsup/w32api/lib/Makefile.in

212 lines
6.3 KiB
Makefile

# @configure_input@
#
#
# Makefile.in
#
# This file is part of a free library for the Win32 API.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
VPATH = @srcdir@
include ${top_builddir}/Makefile.comm
SUBDIRS := ddk directx
subdirs := ddk directx
# Depending on if we build as part of winsup or mingw we need to
# add additional include paths in order to get the correct headers
# from the C library.
#
BUILDENV = @BUILDENV@
ifeq ($(BUILDENV), cygwin)
# winsup/include
# winsup/../newlib/libc/include
# winsup/../newlib/libc/sys/cygwin
EXTRA_INCLUDES = -I$(srcdir)/../../include -I$(srcdir)/../../../newlib/libc/include -I$(srcdir)/../../../newlib/libc/sys/cygwin
endif
ifeq ($(BUILDENV), mingw)
EXTRA_INCLUDES = -I$(srcdir)/../../mingw/include
endif
INCLUDES = -I$(srcdir)/../include $(EXTRA_INCLUDES)
# Headers
#
HEADERS = $(notdir $(wildcard $(srcdir)/../include/*.h))
GL_HEADERS = $(notdir $(wildcard $(srcdir)/../include/GL/*.h))
GDIPLUS_HEADERS = $(notdir $(wildcard $(srcdir)/../include/gdiplus/*.h))
# Libraries
#
DEF_FILES = $(notdir $(wildcard $(srcdir)/*.def))
MRI_FILES = $(notdir $(wildcard $(srcdir)/*.mri))
IMPLIBS = $(addprefix lib,$(subst .def,.a,$(DEF_FILES)))
MIMPLIBS = $(addprefix lib,$(subst .mri,.a,$(MRI_FILES)))
EXTRA_LIBS = libuuid.a libscrnsave.a libscrnsavw.a liblargeint.a
LIBS = $(IMPLIBS) $(MIMPLIBS) $(EXTRA_LIBS)
UUID_OBJS = mshtml-uuid.o msxml-uuid.o unknwn-uuid.o \
servprov-uuid.o oleidl-uuid.o oleacc-uuid.o ocidl-uuid.o \
objsafe-uuid.o oaidl-uuid.o docobj-uuid.o comcat-uuid.o \
exdisp-uuid.o mlang-uuid.o objidl-uuid.o cguid-uuid.o \
olectlid-uuid.o ativscp-uuid.o urlmon-uuid.o hlink-uuid.o \
hlguids-uuid.o extras-uuid.o devguid.o power-uuid.o
EXTRA_OBJS = shell32.o scrnsave.o scrnsavw.o largeint.o gdiplus.o \
$(UUID_OBJS) ws2_32.o
UUID_SOURCES = mshtml-uuid.c msxml-uuid.c unknwn-uuid.c \
servprov-uuid.c oleidl-uuid.c oleacc-uuid.c ocidl-uuid.c \
objsafe-uuid.c oaidl-uuid.c docobj-uuid.c comcat-uuid.c \
exdisp-uuid.c mlang-uuid.c objidl-uuid.c cguid-uuid.c \
olectlid-uuid.c ativscp-uuid.c urlmon-uuid.c hlink-uuid.c \
hlguids-uuid.c extras-uuid.c devguid.c power-uuid.c
SOURCES = scrnsave.c shell32.c largeint.c gdiplus.c $(UUID_SOURCES) \
res.rc test.c ws2_32.c
DISTFILES = Makefile.in $(DEF_FILES) $(MRI_FILES) $(SOURCES)
.NOTPARALLEL:
# Targets: (note that 'all-default' is a redirection from 'all',
# which is the primary default target identified in the included
# common makefile fragment, ${top_builddir}/Makefile.comm
#
all-default: $(EXTRA_OBJS) $(LIBS) ddk directx
%-subdirs:
for i in $(SUBDIRS); do \
$(MAKE) -C $$i $*; \
done
ddk:
$(MAKE) -C $@
directx:
$(MAKE) -C $@
TEST_OPTIONS = $(ALL_CFLAGS) -DWINVER=0x0666 \
-Wall -pedantic -Wsystem-headers -c $(srcdir)/test.c -o test.o
.PHONY: test ddk directx
test:
@echo "Testing w32api..."
@for lang in c c++ objective-c ; do \
echo "$$lang..."; \
$(CC) -x$$lang $(TEST_OPTIONS) ; \
echo "$$lang UNICODE..."; \
$(CC) -x$$lang -DUNICODE $(TEST_OPTIONS) ; \
done
@echo "windres..."
@$(WINDRES) --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o
@echo "windres UNICODE..."
@$(WINDRES) --define UNICODE --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o
@rm -f test.o
scrnsavw.o: scrnsave.c
$(CC) -c $(ALL_CFLAGS) -DUNICODE -o $@ $<
# Rules
#
libuuid.a: $(UUID_OBJS)
$(AR) rc $@ $(UUID_OBJS)
$(RANLIB) $@
# libvfw32.a contains import stubs for 3 dll's. Using an MRI script
# seems to be the simplest way to combine them into one archive.
#
# NB: With older dlltool, the object file members will not have
# unique names.
#
libvfw32.a: vfw32.mri libmsvfw32.a libavifil32.a libavicap32.a
rm -f $@
$(AR) -M < ${word 1,$^}
$(RANLIB) $@
.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 $(need-DESTDIR-compatibility)
$(mkinstalldirs) $(DESTDIR)$(inst_libdir)
for i in $(LIBS); do \
$(INSTALL_DATA) $$i $(DESTDIR)$(inst_libdir)/$$i ; \
done
install-headers: $(need-DESTDIR-compatibility)
$(mkinstalldirs) $(DESTDIR)$(inst_includedir)
for i in $(HEADERS); do \
$(INSTALL_DATA) $(srcdir)/../include/$$i $(DESTDIR)$(inst_includedir)/$$i ; \
done
$(mkinstalldirs) $(DESTDIR)$(inst_includedir)/GL
for i in $(GL_HEADERS); do \
$(INSTALL_DATA) $(srcdir)/../include/GL/$$i $(DESTDIR)$(inst_includedir)/GL/$$i ; \
done
$(mkinstalldirs) $(DESTDIR)$(inst_includedir)/gdiplus
for i in $(GDIPLUS_HEADERS); do \
$(INSTALL_DATA) $(srcdir)/../include/gdiplus/$$i $(DESTDIR)$(inst_includedir)/gdiplus/$$i ; \
done
install-ddk: install-libraries install-headers
cd ddk && $(MAKE) install
install-directx: install-libraries install-headers
cd directx && $(MAKE) install
# Uninstall headers and libraries from a target specified directory
#
uninstall: uninstall-ddk uninstall-directx uninstall-libraries uninstall-headers
uninstall-libraries: $(need-DESTDIR-compatibility)
@for i in $(LIBS); do \
rm -f $(DESTDIR)$(inst_libdir)/$$i ; \
done
rmdir $(DESTDIR)$(inst_libdir)
uninstall-headers: $(need-DESTDIR-compatibility)
@for i in $(HEADERS); do \
rm -r $(DESTDIR)$(inst_includedir)/$$i ; \
done
rmdir $(DESTDIR)$(inst_includedir)
uninstall-ddk:
cd ddk && $(MAKE) uninstall
uninstall-directx:
cd directx && $(MAKE) uninstall
dist:
mkdir $(distdir)/include
chmod 755 $(distdir)/include
@for i in $(HEADERS); do \
cp -p $(srcdir)/../include/$$i $(distdir)/include/$$i ; \
done
mkdir $(distdir)/include/GL
@for i in $(GL_HEADERS); do \
cp -p $(srcdir)/../include/GL/$$i $(distdir)/include/GL/$$i ; \
done
mkdir $(distdir)/include/gdiplus
@for i in $(GDIPLUS_HEADERS); do \
cp -p $(srcdir)/../include/gdiplus/$$i $(distdir)/include/gdiplus/$$i ; \
done
mkdir $(distdir)/lib
chmod 755 $(distdir)/lib
@for i in $(DISTFILES); do \
cp -p $(srcdir)/$$i $(distdir)/lib/$$i ; \
done
for i in $(SUBDIRS); do \
(cd $$i; $(MAKE) distdir=../$(distdir) dist); \
done
Makefile: Makefile.in ../config.status ../configure
cd ..; $(SHELL) config.status
# Makefile.in: end of file