Need help: How to set .RECIPEPREFIX variable to whitespaces
DG
dangets at gmail.com
Wed Jul 13 10:33:33 EDT 2011
On Wed, Jul 13, 2011 at 1:52 AM, amit mehta <gmate.amit at gmail.com> wrote:
> Hi,
>
> How to set .RECIPEPREFIX variable to whitespace(say 4 whitespces) , so that
> make uses this particular set of characters to identify the recipe for
> a particular target.
> In my $HOME/.vimrc file, for code indentation purpose, I've put the
> following entries
> to replace tabs with 4 whitespaces:
>
> <<<snip from my $HOME/.vimrc file>>>
> "replace tabs with spaces
> set expandtab
> set shiftwidth=4
> set tabstop=4
> <<<snip from my $HOME/.vimrc file>>>
>
>
> but the above will cause problem in case you write your own makefile
> for a kernel module,
> because now the tab stroke will be replaced by 4 whitespaces which
> 'make' will not understand.
> Quoting from 'make' manual,
> "Please note: you need to put a tab character at the beginning of
> every recipe line!"
>
> Seems .RECIPEPREFIX will come for resuce, but as of now I don't know
> how to use it
> to fix my problem.
>
> Regards,
> Amit
>
> --
> Life is elsewhere. Cross Frontiers. Fly away.
>
> - Salman Rushdie
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
I have my vimrc file setup to use different tabs/spacing depending on
the filetype. 8-width tab in C, 4-space indent in Python, etc...
Here's a snippet from my vimrc:
"-------- C -------------------------
function! LANG_C()
setlocal noexpandtab
setlocal shiftwidth=8
setlocal tabstop=8
setlocal softtabstop=8
setlocal formatoptions=tcroq
endfunction
autocmd FileType c call LANG_C()
"------- Python ----------------
function! LANG_PYTHON()
setlocal shiftwidth=4
setlocal tabstop=4
setlocal softtabstop=4
setlocal expandtab
"--- python indent keywords --------
setlocal cinwords=if,elif,else,for,while,try,except,finally,def,class,with
endfunction
autocmd FileType python call LANG_PYTHON()
"------- Makefile --------------
function! LANG_MAKEFILE()
setlocal noexpandtab " makefiles only work with tab-indents
setlocal shiftwidth=8
setlocal tabstop=8
setlocal softtabstop=8
endfunction
autocmd FileType make call LANG_MAKEFILE()
There may be other/better ways to do this, but it works well for me.
More information about the Kernelnewbies
mailing list