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