summaryrefslogtreecommitdiffstats
path: root/runtime/probes/build_probe
diff options
context:
space:
mode:
authorhunt <hunt>2005-07-01 19:27:52 +0000
committerhunt <hunt>2005-07-01 19:27:52 +0000
commit07a4738f117eca68c7076ff09b7f93230ab9fedd (patch)
tree2bece162ba58674d1699ee9d94c524ffb5c42855 /runtime/probes/build_probe
parentf5548c07826ab136c199055769ccfc34e01c0cd7 (diff)
downloadsystemtap-steved-07a4738f117eca68c7076ff09b7f93230ab9fedd.tar.gz
systemtap-steved-07a4738f117eca68c7076ff09b7f93230ab9fedd.tar.xz
systemtap-steved-07a4738f117eca68c7076ff09b7f93230ab9fedd.zip
2005-07-01 Martin Hunt <hunt@redhat.com>
* Makefile.template (debug): New target. * build: Support "debug" target. * build_probe: Ditto.
Diffstat (limited to 'runtime/probes/build_probe')
-rwxr-xr-xruntime/probes/build_probe112
1 files changed, 65 insertions, 47 deletions
diff --git a/runtime/probes/build_probe b/runtime/probes/build_probe
index d97d4a42..9eadebd2 100755
--- a/runtime/probes/build_probe
+++ b/runtime/probes/build_probe
@@ -27,7 +27,7 @@ proc create_makefile {target} {
}
proc build {{target ""}} {
- global clean verbose
+ global clean verbose debug
if {$target == ""} {
set target [file tail [pwd]]
}
@@ -39,79 +39,97 @@ proc build {{target ""}} {
}
} else {
puts "Building $target"
- if {[catch {exec make >& compile.errors} res]} {
- puts "\n------------ Compile error in $target -------------------\n"
- if {[catch {open compile.errors r} fd]} {
- puts "Compile failed for unknown reasons"
- exit -1
- }
- while {[gets $fd line] >= 0} {
- puts $line
- }
- close $fd
- exit -1
+
+ if {$debug == ""} {
+ if {[catch {exec make >& compile.errors} res]} {
+ puts "\n------------ Compile error in $target -------------------\n"
+ if {[catch {open compile.errors r} fd]} {
+ puts "Compile failed for unknown reasons"
+ exit -1
+ }
+ while {[gets $fd line] >= 0} {
+ puts $line
+ }
+ close $fd
+ exit -1
+ }
} else {
- if {![catch {open compile.errors r} fd]} {
- # search for warnings
- set bad 0
+ if {[catch {exec make debug >& compile.errors} res]} {
+ puts "\n------------ Compile error in $target -------------------\n"
+ if {[catch {open compile.errors r} fd]} {
+ puts "Compile failed for unknown reasons"
+ exit -1
+ }
while {[gets $fd line] >= 0} {
- if {$verbose} {
- puts $line
- } else {
- if {[regexp {[^W]*([A-Za-z][A-Za-z0-9_]*)[^\"]*\"([^\"]*)} $line match warn var]} {
- if {$warn == "Warning"} {
- switch $var {
- _stp_ctrl_unregister -
- _stp_ctrl_register -
- relay_subbufs_consumed -
- _stp_ctrl_send -
- relay_open -
- relayfs_create_dir -
- relayfs_remove_dir -
- relay_flush -
- relay_switch_subbuf -
- relay_close {}
- default {
- if {$bad == 0} {
- puts "\n------------ Unexpected Warnings in $target -------------------\n"
- }
+ puts $line
+ }
+ close $fd
+ exit -1
+ }
+ }
+
+ if {![catch {open compile.errors r} fd]} {
+ # search for warnings
+ set bad 0
+ while {[gets $fd line] >= 0} {
+ if {$verbose} {
+ puts $line
+ } else {
+ if {[regexp {[^W]*([A-Za-z][A-Za-z0-9_]*)[^\"]*\"([^\"]*)} $line match warn var]} {
+ if {$warn == "Warning"} {
+ switch $var {
+ _stp_ctrl_unregister -
+ _stp_ctrl_register -
+ relay_subbufs_consumed -
+ _stp_ctrl_send -
+ relay_open -
+ relayfs_create_dir -
+ relayfs_remove_dir -
+ relay_flush -
+ relay_switch_subbuf -
+ relay_close {}
+ default {
+ if {$bad == 0} {
+ puts "\n------------ Unexpected Warnings in $target -------------------\n"
+ }
puts $line
set bad 1
- }
}
}
}
}
}
- close $fd
- }
- if {$bad} {
- exit -1
}
+ close $fd
+ }
+ if {$bad} {
+ exit -1
}
}
}
set clean 0
set verbose 0
-
+set debug ""
foreach arg $argv {
if {$arg == "clean"} {
set clean 1
} elseif {$arg == "-v"} {
set verbose 1
+ } elseif {$arg == "debug"} {
+ set debug $arg
} elseif {$arg != ""} {
usage
}
}
if {![catch {open targets r} tfd]} {
- while {[gets $tfd line] >= 0} {
- set target [lindex $line 0]
- create_makefile $target
- build $target
- catch {exec /bin/rm Makefile}
- }
+ while {[gets $tfd line] >= 0} {
+ set target [lindex $line 0]
+ create_makefile $target
+ build $target
+ catch {exec /bin/rm Makefile}
+ }
close $tfd
} else {
if {![file exists Makefile]} {