Re: Remove a CFLAG for one .c file (How to compile only one file in no-thumb mode)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Martin

Martin Laabs wrote:

> i have one (inline asm intensive) file in my arm hal package that I do
> not want to convert to thumb mode. (This is IMHO for some i.e. cache
> functionality even impossible.)
> Since I have thumb-interwork enabled I wanna compile this file in arm
> mode and the rest of the kernel in thumb mode.
> For the whole file I could use the CFLAG_REMOVE functionality from cdl.
> However - I'd like to remove the -mthumb flag only for one file.
> 
> I could use the make { ... } function from cdl. But to stay consistent
> wit the rest I would like to use the gcc flags that are configured in
> the configtool. So just make the object with hardcorded flags is one but
> a unattractive option.
> 
> So I would like something like this in my cdl file:
> 
> {
> CFLAGS_REMOVE="-mthumb
> compile cstx01_misc.c
> }
> 
> Do you have an idea how to accomplish this?

You should be able to build the file using a CDL make_object rule as
follows (untested):

> make_object {
>   cstx01_misc.o : cstx01_misc.c
>   $(CC) $(INCLUDE_FLAGS) $(filter-out -mthumb, $(ACTUAL_CFLAGS)) -c -o $@ $<
> }

You will need to remove the file from the regular CDL "compile" list.

I hope this helps...

John Dallaway
eCos maintainer
http://www.dallaway.org.uk/john

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



[Index of Archives]     [Linux Embedded]     [U-Boot V2]     [Linux Kernel]     [Linux MIPS]     [Linux ARM]     [Linux for the Blind]     [Yosemite]     [ISDN Cause Codes]     [eCos Home]

  Powered by Linux