Including 3rd party library headers?
Nick Withers
nick.withers at anu.edu.au
Thu Jan 30 13:23:26 UTC 2014
On Thu, 2014-01-30 at 23:19 +1300, James Fitzsimons wrote:
> I tried CFLAGS as suggested and it seems to be completely ignored.
Hrrrm... I wonder if it's a 4.10 vs 4.11 thing...? Can't see anything
obviously wrong with yours, but not an expert and it's too late at night
for me to go checking out 4.10 and whatnot :-P
I've attached the (old) Makefile I was once using with Makefile.inc et
al., with 4.11 / head (still works) which *does* add the CFLAGS (the
EXEEXT stuff and no MANAGERS might be a problem with 4.10).
P.S., I feel safe assuming that "make" on Ubuntu 13.10 is GNU make...?
> 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!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Makefile
Type: text/x-makefile
Size: 2989 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/users/attachments/20140131/a159019e/attachment-0001.bin>
More information about the users
mailing list