4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-19 04:49:25 +08:00
newlib-cygwin/newlib/libc/Makefile.inc
Mike Frysinger 96bc16f6b2 newlib: libc: merge build up a directory
Convert all the libc/ subdir makes into the top-level Makefile.  This
allows us to build all of libc from the top Makefile without using any
recursive make calls.  This is faster and avoids the funky lib.a logic
where we unpack subdir archives to repack into a single libc.a.  The
machine override logic is maintained though by way of Makefile include
ordering, and source file accumulation in libc_a_SOURCES.

There's a few dummy.c files that are no longer necessary since we aren't
doing the lib.a accumulating, so punt them.

The winsup code has been pulling the internal newlib ssp library out,
but that doesn't exist anymore, so change that to pull the objects.
2022-03-16 21:18:25 -04:00

73 lines
2.4 KiB
Makefile

info_TEXINFOS += %D%/libc.texi
%C%_libc_TEXINFOS = %D%/targetdep.tex $(LIBC_CHEWOUT_FILES)
LIBC_CHEWOUT_FILES =
LIBC_CHAPTERS = %D%/sys.tex
LIBC_DOCBOOK_OUT_FILES = $(LIBC_CHEWOUT_FILES:.def=.xml)
$(LIBC_CHEWOUT_FILES): $(MKDOC)
%D%/libc.dvi: %D%/targetdep.tex $(LIBC_CHEWOUT_FILES)
%D%/targetdep.tex.stamp: $(LIBC_CHAPTERS)
$(AM_V_GEN)cat $^ > $@.tmp
$(AM_V_at)$(SHELL) $(newlib_basedir)/../move-if-change $@.tmp $(@:.stamp=)
$(AM_V_at)touch $@
%D%/targetdep.tex: %D%/targetdep.tex.stamp; @true
%D%/libc.xml.stamp: %D%/libc.in.xml $(LIBC_CHAPTERS) $(LIBC_DOCBOOK_OUT_FILES)
$(AM_V_at)\
for chapter in $(LIBC_CHAPTERS); do \
$(TEXI2DOCBOOK) < $(srcdir)/$$chapter > %D%/`basename $${chapter%.tex}`.xml || exit 1; \
done
$(AM_V_GEN)xsltproc --xinclude --path $(builddir)/%D% --nonet $(srcdir)/refcontainers.xslt $< > $@.tmp
$(AM_V_at)$(SHELL) $(newlib_basedir)/../move-if-change $@.tmp $(@:.stamp=)
$(AM_V_at)touch $@
%D%/libc.xml: %D%/libc.xml.stamp; @true
%C%_man: %D%/libc.xml
$(AM_V_GEN)xmlto --skip-validation -o %D% --searchpath $(builddir)/%D% man -m $(srcdir)/man.xsl %D%/libc.xml
man: %C%_man
%C%_install-man: %C%_man
$(MKDIR_P) $(DESTDIR)$(mandir)/man3
$(INSTALL_DATA) %D%/*.3 $(DESTDIR)$(mandir)/man3/
install-man: %C%_install-man
## The order of includes is important for two reasons:
## * The integrated documentation (chapter ordering).
## * Object overridding -- machine dir must come last.
## Do not change the order without considering the doc impact.
##
## Also keep in mind that every subdir must always be included here. Any
## conditional loigc must live in the respective Makefile.inc files.
include %D%/argz/Makefile.inc
include %D%/stdlib/Makefile.inc
include %D%/ctype/Makefile.inc
include %D%/search/Makefile.inc
include %D%/stdio/Makefile.inc
include %D%/stdio64/Makefile.inc
include %D%/string/Makefile.inc
include %D%/signal/Makefile.inc
include %D%/time/Makefile.inc
include %D%/locale/Makefile.inc
include %D%/reent/Makefile.inc
include %D%/errno/Makefile.inc
include %D%/misc/Makefile.inc
include %D%/unix/Makefile.inc
include %D%/posix/Makefile.inc
include %D%/syscalls/Makefile.inc
include %D%/iconv/Makefile.inc
include %D%/xdr/Makefile.inc
include %D%/ssp/Makefile.inc
include %D%/sys/Makefile.inc
## NB: Machine must be last! See comment block above.
include %D%/machine/Makefile.inc
CLEANFILES += \
%D%/targetdep.tex \
%D%/targetdep.tex.stamp \
$(LIBC_CHEWOUT_FILES) \
$(LIBC_DOCBOOK_OUT_FILES) \
%D%/*.xml %D%/*.xml.stamp %D%/*.3