diff options
Diffstat (limited to 'shortnames/Makefile')
-rw-r--r-- | shortnames/Makefile | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/shortnames/Makefile b/shortnames/Makefile new file mode 100644 index 00000000000..fcb5a4dae28 --- /dev/null +++ b/shortnames/Makefile @@ -0,0 +1,44 @@ +S = ../src +LENGTH = 7 +FILES = $S/*.[ch] +NAMES = names $(LENGTH) +DUPS = dups $(LENGTH) +INC = /usr/include + +remap.h : duplist2 defines + cat header.h >$@ + defines <duplist2 >>$@ + +duplist2 : duplist exclude + comm -13 exclude duplist >$@ + +duplist : dups names + cat $(FILES) | $(NAMES) | sort | uniq | $(DUPS) | sort | uniq >$@ + +# There are two files, reserved and special, which contain the names of +# strings which must not be remapped. In general, reserved contains strings +# which are meaningful to the C preprocessor or compiler, and "special" +# contains special emacs strings that must not be remapped (they are the +# basename of an include file for example; actually this is a holdover from +# when sed or m4 was used to do the remapping, not needed with cpp remapping). +# +# Note, because "cut" is braindamaged and does not return explicit status, +# and since the status returned to make is that of the last program in the +# pipeline, we filter the final result through cat to avoid killing make. + +exclude : reserved special + cat reserved special >tempfile + grep "^#[ \t]*define" $(INC)/*.h | tr -s "\040\011#()" ":::::" | cut -f3 -d: | cat >>tempfile + grep "^#[ \t]*define" $(INC)/sys/*.h | tr -s "\040\011#()" ":::::" | cut -f3 -d: | cat >>tempfile + grep "^#[ \t]*define" $S/*.[ch] | tr -s "\040\011#()" ":::::" | cut -f3 -d: | cat >>tempfile + sort <tempfile | uniq >$@ + rm -f tempfile + +dups : dups.c + $(CC) -O -o $@ $? + +names : names.c + $(CC) -O -o $@ $? + +defines : defines.c + $(CC) -O -o $@ $? |