xenocara/app/xdm/cpprules.in
2010-03-28 09:33:02 +00:00

34 lines
1.3 KiB
Makefile

# -*- Makefile -*-
# Rules for generating files using the C pre-processor
# (Replaces CppFileTarget from Imake)
SED = sed
SUFFIXES = .cpp
WCHAR32_FLAGS = -DWCHAR32=@WCHAR32@
# 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/\@\@$$/\\/'
if HAVE_AM_SILENT_RULES
# Support for automake 1.11 AM_SILENT_RULES
cpp_verbose = $(cpp_verbose_$(V))
cpp_verbose_ = $(cpp_verbose_$(AM_DEFAULT_VERBOSITY))
cpp_verbose_0 = @echo " CPP " $@;
endif HAVE_AM_SILENT_RULES
.cpp:
$(cpp_verbose)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@