Commit | Line | Data |
---|---|---|
a09e091a JB |
1 | # Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM |
2 | # to cpp, because that trick does not work on all ANSI C preprocessors. | |
3 | # Delete line numbers from the cpp output (-P is not portable, I guess). | |
4 | # Allow XCOMM to be preceded by whitespace and provide a means of generating | |
5 | # output lines with trailing backslashes. | |
6 | # Allow XHASH to always be substituted, even in cases where XCOMM isn't. | |
7 | ||
8 | CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ | |
9 | -e '/^\#line *[0-9][0-9]* *.*$$/d' \ | |
10 | -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ | |
11 | -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ | |
12 | -e '/^[ ]*XHASH/s/XHASH/\#/' \ | |
13 | -e '/XSLASHGLOB/s/XSLASHGLOB/\/\*/' \ | |
14 | -e '/\@\@$$/s/\@\@$$/\\/' | |
15 | ||
16 | SUFFIXES = .cpp | |
17 | ||
18 | .cpp: | |
19 | $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ |