Including 3rd party library headers?

James Fitzsimons james.fitzsimons at gmail.com
Thu Jan 30 10:19:15 UTC 2014


I tried CFLAGS as suggested and it seems to be completely ignored. My
application Makefile now looks like this:

PGM=${ARCH}/rtems-hello.exe

# optional managers required
MANAGERS=all

# C source names
CSRCS = rtems-hello.c
COBJS = $(CSRCS:%.c=${ARCH}/%.o)
CFLAGS += -I/home/james/Projects/development/motorobots/include

MOTOROBOTS_LIBS = /opt/motorobots/68332/lib
#LD_PATHS +=
LD_LIBS += $(MOTOROBOTS_LIBS)/liblcd.a  $(MOTOROBOTS_LIBS)/libled.a

include $(RTEMS_MAKEFILE_PATH)/Makefile.inc
include $(RTEMS_CUSTOM)
include $(PROJECT_ROOT)/make/leaf.cfg

OBJS= $(COBJS) $(CXXOBJS) $(ASOBJS)

all:    ${ARCH} $(PGM)

$(PGM): $(OBJS) ${LINK_FILES}
$(make-exe)

and running make looks like:

hello$ make
test -d o-optimize || mkdir o-optimize
m68k-rtems4.10-gcc --pipe
-B/home/james/Projects/development/rtems/rtems-mrm332/m68k-rtems4.10/mrm332/lib/
-specs bsp_specs -qrtems   -g -Wall  -O2 -g -fomit-frame-pointer -g
 -mcpu=cpu32     -c   -o o-optimize/rtems-hello.o rtems-hello.c
rtems-hello.c:6:27: error: 68332/mrm/led.h: No such file or directory
rtems-hello.c:7:27: error: 68332/mrm/lcd.h: No such file or directory
....


As you can see the include path doesn't appear in the gcc command.

I've read the make/README and can't see anything relavant in there. Am I
missing something really obvious here?

Thanks for any help you can provide!
James


On 30 January 2014 13:38, James Fitzsimons <james.fitzsimons at gmail.com>wrote:

> Thanks very much guys,
>
> I'm thought I'd tried CFLAGS, but I obviously didn't have something quite
> right so I'll give it another shot.
>
> I'll definitely look into Eclipse - I've used it before for C/C++ stuff
> and found it excellent. I'm trying to start out pretty vanilla with RTEMS
> just so I get a really good handle on how the whole build process works
> (there are a LOT of makefiles to understand) as I've found with other tools
> that an IDE can often make things nice and easy until it goes wrong, and if
> you don't understand what it's doing under the hood you are all of a sudden
> in very deep water.
>
> Cheers!
> James
>
>
> On 30 January 2014 12:53, Simon Williams <williamssimonp at gmail.com> wrote:
>
>> Ah, -I and CFLAGS it is then.  That'll teach me to read posts properly
>> and not just skim them! :-)
>>
>> I started using Eclipse for Java, but I moved to using Netbeans as I
>> prefer it, but Eclipse with CDT is a grest C/C++ IDE and the RTEMS plug in
>> makes RTEMS development more productive than vi. I don't really know of an
>> alternative iif you want an IDE for RTEMS, but that may be just because
>> I've not looked.
>>
>> Regards
>>
>> Simon
>> On 29 Jan 2014 23:36, "Nick Withers" <nick.withers at anu.edu.au> wrote:
>>
>>> On Wed, 2014-01-29 at 23:31 +0000, Simon Williams wrote:
>>> > Wouldn't thst be -L for the lbrary path? The -l option is usef to
>>> > specify a library.
>>> >
>>> > Also, linker flags are usually in LDFLAGS, CFLAGS is for compiler
>>> > flags. It does of course depend on your Makefile.
>>>
>>> It's include paths he's after, which are for the compiler.
>>>
>>> > I would recommend Eclipse. It won't do everything for you, but it can
>>> > help by pointing the way!
>>>
>>> I've heard a lot of good things about Eclipse. I've got a personal peeve
>>> against Java and that's really all that's kept me from trying it!
>>>
>>> > Regards
>>> >
>>> > Simon
>>> >
>>> > On 29 Jan 2014 22:18, "Nick Withers" <nick.withers at anu.edu.au> wrote:
>>> >         On Wed, 2014-01-29 at 22:29 +1300, James Fitzsimons wrote:
>>> >         > Thanks Andrei,
>>> >         >
>>> >         >
>>> >         > I'm using a very plain vanilla environment at the moment.
>>> >         Ubuntu 13.10
>>> >         > with tool chain built using rtems source builder.
>>> >         >
>>> >         >
>>> >         > I'm using the template makefile for my test application, and
>>> >         am just
>>> >         > running make directly from bash.
>>> >         >
>>> >         >
>>> >         > No IDE or fancy build environment yet!
>>> >
>>> >         I'd've said the RTEMS'provided Makefiles (there are a number
>>> >         of them,
>>> >         chained together) are pretty fancy... But then, I have trouble
>>> >         with just
>>> >         one Makefile :-P
>>> >
>>> >         Anyway, try:
>>> >                 CFLAGS+=-I/bam/headers
>>> >
>>> >         > Cheers,
>>> >         > James
>>> >         >
>>> >         >
>>> >         > On 29 January 2014 17:01, Andrei Chichak <groups at chichak.ca>
>>> >         wrote:
>>> >         >         I believe what Sebastian is referring to is the
>>> >         environment
>>> >         >         that you are using for your compiles. In my case, I
>>> >         am using a
>>> >         >         Mac and Eclipse, I set <C/C++ Build><Settings><Tool
>>> >         >         Settings><RTEMS C Compiler><Preprocessor><Include
>>> >         Paths (-I)>.
>>> >         >
>>> >         >         Your milage will vary, but if you tell us what you
>>> >         are
>>> >         >         driving, there may be someone here that can help.
>>> >         >
>>> >         >         Andrei
>>> >         >
>>> >         >
>>> >         >         On 2014-January-28, at 2:11 PM, James Fitzsimons
>>> >         >         <james.fitzsimons at gmail.com> wrote:
>>> >         >
>>> >         >         > Hi Sebastian,
>>> >         >         >
>>> >         >         > Thanks for your reply.
>>> >         >         >
>>> >         >         > Ideally I was hoping to us the -I option to
>>> >         specify the
>>> >         >         header file location, I just can't quite figure out
>>> >         where to
>>> >         >         add that into the RTEMS makefile structure. Looking
>>> >         at the
>>> >         >         make/README I can see a good example of how to link
>>> >         in other
>>> >         >         libraries using LD_LIBS, but there's nothing about
>>> >         including
>>> >         >         other header files.
>>> >         >         >
>>> >         >         > Apologies if I am missing something obvious!
>>>
>>> --
>>> Nick Withers
>>>
>>> Embedded Systems Programmer
>>> Department of Nuclear Physics, Research School of Physics and Engineering
>>> The Australian National University (CRICOS: 00120C)
>>>
>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20140130/39be34f1/attachment-0001.html>


More information about the users mailing list