blob: fe77de9184621a8ffa4b14dd8fdcbc5e91760ed1 [file] [log] [blame]
Reid Spencer65e731d2004-09-06 19:06:27 +00001#!/bin/sh
2##===- utils/countloc.sh - Counts Lines Of Code --------------*- Script -*-===##
3#
4# The LLVM Compiler Infrastructure
5#
6# This file was developed by Reid Spencer and is distributed under the
7# University of Illinois Open Source License. See LICENSE.TXT for details.
8#
9##===----------------------------------------------------------------------===##
10#
11# This script finds all the source code files in the source code directories
12# (excluding certain things), runs "wc -l" on them to get the number of lines in
13# each file and then sums up and prints the total with awk.
14#
Reid Spencer181e65d2004-09-20 08:09:36 +000015# The script takes no arguments but does expect to be run from somewhere in
16# the top llvm source directory.
Reid Spencer65e731d2004-09-06 19:06:27 +000017#
Reid Spencer181e65d2004-09-20 08:09:36 +000018# Note that the implementation is based on llvmdo. See that script for more
19# details.
20##===----------------------------------------------------------------------===##
21
Reid Spencerb27b78f2004-09-20 07:22:23 +000022TOPDIR=`pwd | sed -e 's#\(.*/llvm\).*#\1#'`
Reid Spencer65e731d2004-09-06 19:06:27 +000023if test -d "$TOPDIR" ; then
24 cd $TOPDIR
Reid Spencerb27b78f2004-09-20 07:22:23 +000025 ./utils/llvmdo -dirs "include lib tools test utils examples" wc -l | awk '\
Reid Spencer65e731d2004-09-06 19:06:27 +000026 BEGIN { loc=0; } \
27 { loc += $1; } \
28 END { print loc; }'
29else
30 echo "Can't find LLVM top directory in $TOPDIR"
31fi