package UVISWorkspaceCreator; # ************************************************************ # Description : The Keil uVision Workspace Creator # Author : Chad Elliott # Create Date : 11/1/2016 # ************************************************************ # ************************************************************ # Pragmas # ************************************************************ use strict; use UVISProjectCreator; use WinWorkspaceBase; use WorkspaceCreator; use vars qw(@ISA); @ISA = qw(WinWorkspaceBase WorkspaceCreator); # ************************************************************ # Subroutine Section # ************************************************************ sub compare_output { #my $self = shift; return 1; } sub workspace_file_extension { #my $self = shift; return '.uvmpw'; } sub pre_workspace { my($self, $fh) = @_; my $crlf = $self->crlf(); print $fh "$crlf", "$crlf$crlf", " 1.0$crlf$crlf", "
### uVision Project, (C) Keil Software
$crlf$crlf"; } sub write_comps { my($self, $fh) = @_; my $crlf = $self->crlf(); print $fh ' ', $self->get_workspace_name(), ' - ', $self->create_command_line_string($0, @ARGV), '', $crlf, $crlf; foreach my $project ($self->sort_dependencies($self->get_projects(), 0)) { print $fh " $crlf", " ", $self->slash_to_backslash($project), "$crlf", " $crlf$crlf"; } } sub post_workspace { my($self, $fh) = @_; print $fh '
' . $self->crlf(); } 1;