3 # Empire - A multi-player, client/server Internet based war game.
4 # Copyright (C) 1986-2015, Dave Pare, Jeff Bailey, Thomas Ruschak,
5 # Ken Stevens, Steve McClure, Markus Armbruster
7 # Empire is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
22 # See files README, COPYING and CREDITS in the root of the source
23 # tree for related information and legal notices. It is expected
24 # that future projects/authors will amend these files as needed.
28 # ls-sources.pl: List source files
30 # Known contributors to this file:
31 # Markus Armbruster, 2015
33 # Usage: ls-sources.pl DIR REGEX
35 # List source files in DIR with names matching REGEX. If DIR is under
36 # version control, list version-controlled files. Else, list files in
43 print STDERR "Usage: $0 DIR REGEX\n";
53 while (! -d "$srcdir/.git" and ! -r "$srcdir/sources.mk"
54 and $srcdir =~ m,^(.*)/([^/]*),) {
56 $subdir = "$2/$subdir";
60 if (-d "$srcdir/.git") {
61 open IN, "cd '$srcdir' && git ls-files '$subdir' | uniq |"
62 or die "can't run git ls-files: $!";
68 } elsif (-r "$srcdir/sources.mk") {
69 open IN, "<$srcdir/sources.mk"
70 or die "can't open $srcdir/sources.mk: $!";
73 @sources = grep m,^\Q$subdir\E,, split;
76 print STDERR "Can't find source tree\n";
80 for (grep m/$regex/, @sources) {