#!/usr/bin/perl -w use strict; use File::Find; use File::Copy; use Getopt::Long; my %g_config; GetOptions ( \%g_config, qw( dir=s ) ) || Usage(); if (!defined $g_config{dir}) { &Usage(); } my $added = 0; print "Creating everything.cpp...\n"; unlink "$g_config{dir}/everything.cpp"; my $tmpname = "everything.tmp"; open (FOUT, ">$tmpname") or die; find (\&RecurseFiles, $g_config{dir}); close FOUT or die; copy ($tmpname, "$g_config{dir}/everything.cpp") or die; unlink $tmpname; print "Done. $added files added.\n"; sub RecurseFiles { if ($_ =~ /\.cpp$/) { $added++; print FOUT "#include \"$_\"\n"; } } sub Usage { print STDERR "Usage: $0 -dir directory\n"; print STDERR "\n"; exit(1); }