summaryrefslogtreecommitdiff
path: root/infrastructure
diff options
context:
space:
mode:
Diffstat (limited to 'infrastructure')
-rwxr-xr-xinfrastructure/makeparcels.pl.in54
1 files changed, 34 insertions, 20 deletions
diff --git a/infrastructure/makeparcels.pl.in b/infrastructure/makeparcels.pl.in
index d0148d06..41dab287 100755
--- a/infrastructure/makeparcels.pl.in
+++ b/infrastructure/makeparcels.pl.in
@@ -115,25 +115,7 @@ __E
print MAKE "all:\t",join(' ',map {"build-".$_} @parcels),"\n\n";
-print MAKE "clean:\n";
-for my $parcel (@parcels)
-{
- print MAKE "\trm -rf ", BoxPlatform::parcel_dir($parcel), "\n";
- print MAKE "\trm -f ", BoxPlatform::parcel_target($parcel), "\n";
-}
-
-if ($build_os eq 'CYGWIN')
-{
- print MAKE "\tfind release debug -type f | xargs -r rm -f\n";
-}
-else
-{
- print MAKE "\tfind release debug -type f -exec rm -f {} \\;\n";
-}
-
print MAKE <<__END_OF_FRAGMENT;
- \$(MAKE) -C docs clean
-
test: release/common/test
release/common/test:
@@ -146,6 +128,7 @@ docs:
__END_OF_FRAGMENT
my $release_flag = BoxPlatform::make_flag('RELEASE');
+my @clean_deps;
for my $parcel (@parcels)
{
@@ -259,6 +242,20 @@ docs/htmlguide/man-html/${name}.html:
EOF
push @parcel_deps, "$dir/docs/${name}.html";
}
+ elsif ($type eq 'subdir')
+ {
+ print MAKE <<EOF;
+.PHONY: $name-build $name-clean
+
+$name-build:
+ \$(MAKE) -C $name
+
+$name-clean:
+ \$(MAKE) -C $name clean
+EOF
+ push @parcel_deps, "$name-build";
+ push @clean_deps, "$name-clean";
+ }
}
print MAKE <<EOF;
@@ -351,11 +348,28 @@ EOF
}
}
-print MAKE <<__E;
+print MAKE <<EOF;
install:
cat local/install.msg
-__E
+clean: @clean_deps
+ \$(MAKE) -C docs clean
+EOF
+
+if ($build_os eq 'CYGWIN')
+{
+ print MAKE "\tfind release debug -type f | xargs -r rm -f\n";
+}
+else
+{
+ print MAKE "\tfind release debug -type f -exec rm -f {} \\;\n";
+}
+
+for my $parcel (@parcels)
+{
+ print MAKE "\trm -rf ", BoxPlatform::parcel_dir($parcel), "\n";
+ print MAKE "\trm -f ", BoxPlatform::parcel_target($parcel), "\n";
+}
close MAKE;