mirror of
https://gitlab.freedesktop.org/xorg/lib/libx11.git
synced 2025-12-25 20:00:07 +01:00
Make expects prerequisites to be files with valid timestamps, and directories are treated as always being out of date. Thus, any targets depending on directories will always be rebuilt. Instead, the doc rules are changed to always create the target's leading directory. This should prevent the documentation from being rebuilt when "make install" is run. Signed-off-by: Dan Nicholson <dbn.lists@gmail.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
30 lines
1.2 KiB
Makefile
30 lines
1.2 KiB
Makefile
# -*- Makefile -*-
|
|
# Rules for generating files using the C pre-processor
|
|
# (Replaces CppFileTarget from Imake)
|
|
|
|
SED = sed
|
|
|
|
SUFFIXES += .pre
|
|
|
|
WCHAR32_FLAGS = -DWCHAR32=@WCHAR32@
|
|
|
|
CPP_FILES_FLAGS = $(WCHAR32_FLAGS)
|
|
|
|
# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM
|
|
# to cpp, because that trick does not work on all ANSI C preprocessors.
|
|
# Delete line numbers from the cpp output (-P is not portable, I guess).
|
|
# Allow XCOMM to be preceded by whitespace and provide a means of generating
|
|
# output lines with trailing backslashes.
|
|
# Allow XHASH to always be substituted, even in cases where XCOMM isn't.
|
|
|
|
CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \
|
|
-e '/^\#line *[0-9][0-9]* *.*$$/d' \
|
|
-e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \
|
|
-e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
|
|
-e '/^[ ]*XHASH/s/XHASH/\#/' \
|
|
-e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g' \
|
|
-e '/\@\@$$/s/\@\@$$/\\/'
|
|
|
|
.pre:
|
|
@$(MKDIR_P) $(@D)
|
|
$(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@
|