You can't get a reference from a global function as an angular expression. One possible way to do this without using a controller is to use $rootScope and attach the function during the .run() phase, although it is not recommended:
myApp.run(function($rootScope) { $rootScope.makeItRain = function() { alert('Raining!'); }; });
Another way is to abandon the idea of attaching an event handler via ng-click directive and simply create a directive. This solution assumes that the event handler you are trying to attach will perform dom manipulations.
myApp.directive('makeItRain', function() { return function(scope, elem, attr) { elem.on('click', function() { makeItRain(); }); }; });
and then attach it in the HTML:
<button id="rainBtn" make-it-rain>Make it rain ! </button>