Home
       lorder - scc - simple c99 compiler
  HTML git clone git://git.simple-cc.org/scc
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
       lorder (552B)
       ---
            1 #!/bin/sh
            2 
            3 set -e
            4 trap 'rm -f $$sym?ef' EXIT HUP INT QUIT TERM
            5 
            6 case $# in
            7 0)
            8         echo usage: lorder file ... >&2
            9         exit 1
           10 esac
           11 
           12 rm -f $$sym?ef
           13 
           14 (echo $1:
           15  ${NM:-nm} -g "$@") | sed -n '
           16         /:$/ {
           17                 s/://
           18                 h
           19                 s/.*/& &/
           20                 p
           21         }
           22         / [ADTR] / {
           23                 s/.* //
           24                 G
           25                 s/\n/ /
           26                 w '$$symdef'
           27         }
           28         / C / {
           29                 s/.* //
           30                 G
           31                 s/\n/ /
           32                 w '$$symcef'
           33         }
           34         / U / {
           35                 s/.* //
           36                 G
           37                 s/\n/ /
           38                 w '$$symref'
           39         }
           40 '
           41 sort $$symdef -o $$symdef
           42 sort $$symref -o $$symref
           43 sort $$symcef -o $$symcef
           44 (join $$symref $$symdef
           45  join $$symref $$symcef
           46  join $$symcef $$symdef) |
           47 sed 's/[^ ]* *//'