EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: build question
From: Andrew Johnson <[email protected]>
To: D Peter Siddons <[email protected]>, <[email protected]>
Date: Tue, 1 Apr 2014 10:32:37 -0500
Hi Peter,

On 04/01/2014 10:04 AM, D Peter Siddons wrote:
>    I had done that to verify the install, and had built a custom
> application, host-based, quite successfully. THe problem is with a
> cross-build, and that fails in the top-level makefile with the error I
> sent. I don't know why a cross-build of an application should need to
> invoke a host-build (as indicated by the error message). THe top level
> Makefile is the standard one:

Cross-builds now depend on the host build; this is fixed in stone. The
dependency is necessary for parallel make (-j option) runs to succeed,
since there could be a host tool (such as a Perl script) being built
and/or installed that gets run during the cross-build process (say the
tool creates .db files).

Thus if you used to run something like 'make <cross-target>' because
your Makefiles don't work when compiling for the host OS, you now have
to fix those Makefiles and run 'make' instead. That's not usually very
hard, you just change the target variables to ones that only build for
the OSCLASS that you're interested in. For example, instead of
  LIBRARY = myRtemsDevice
you use
  LIBRARY_RTEMS = myRtemsDevice
or
  PROD_IOC = test
becomes
  PROD_IOC_RTEMS = test

None of the other variables that list the sources or link libraries need
to change, only the ones that tell GnuMake what to build. The Build
chapter of the Application Developers Guide details all the variables
you can use that have an _<osclass> suffix.

If you have code that can only be compiled for a specific target, say it
compiles for RTEMS-uC5282 but fails for RTEMS-mv3100 (both of which are
in the same RTEMS OSCLASS) I can show you how to do that.

Does this explain the problem?

- Andrew
-- 
Advertising may be described as the science of arresting the human
intelligence long enough to get money from it. -- Stephen Leacock

Replies:
Re: build question D Peter Siddons
References:
build question D Peter Siddons
Re: build question Andrew Johnson
Re: build question D Peter Siddons

Navigate by Date:
Prev: Re: build question D Peter Siddons
Next: Re: build question D Peter Siddons
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: build question D Peter Siddons
Next: Re: build question D Peter Siddons
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·