+function! Make()
+ let l:make_dir = ""
+ if exists("b:make_dir")
+ let l:make_dir = "-C ".b:make_dir
+ elseif exists("g:make_dir")
+ let l:make_dir = "-C ".g:make_dir
+ endif
+
+ let l:make_targets = ""
+ if exists("g:make_targets")
+ let l:make_targets = g:make_targets
+ endif
+ execute "make! ".l:make_dir." ".l:make_targets
+endf
+nnoremap <leader>r :call Make()<cr>