1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 <2022> 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 <2022> 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Only cross compile option |
From: | Han Lee via Tech-talk <tech-talk at aps.anl.gov> |
To: | Florian Feldbauer <florian at ep1.ruhr-uni-bochum.de> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Tue, 10 May 2022 20:43:11 -0700 |
Hey Mark,
you are right...I just searched tech-talk for the solution I got.
https://epics.anl.gov/tech-talk/2020/msg00369.php
Andrew suggested the following change, which worked for me
Where the Makefile says something like PROD_IOC = <iocname> replace it with this: PROD_IOC_linux-arm = <iocname> PROD_IOC += $(PROD_IOC_$(T_A))The second line is needed, because as you said the syntax is only working for OS_CLASS not T_A.
Cheers,
Florian
Am 10.05.2022 um 21:46 schrieb Mark Rivers:
Ø PROD_IOC_linux-arm = <name>
I think this syntax only work for OS_CLASS, not for target architecture (TA)
So it works for
PROD_IOC_Linux = <name>
But for linux-arm I think you need to do:
ifeq (linux-arm, $(findstring linux-arm, $(T_A)))
PROD_IOC_Linux = <name>
endif
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Florian Feldbauer via Tech-talk
Sent: Tuesday, May 10, 2022 2:39 PM
To: tech-talk at aps.anl.gov
Subject: Re: Only cross compile option
Hey Han,
yes, there is a way. I did this once too.
If I remember correctly you simply need to change the line
PROD_IOC = <name>
to
PROD_IOC_linux-arm = <name>
in your <ioc>APP/src/MakefileHTH Florian
Am 10.05.2022 um 21:31 schrieb Han Lee via Tech-talk:
Hi EPICSers,
I have an IOC, I want to compile it with only target architecture, for example, linux-arm. My host is linux-x86_64. EPICS base and modules can be compiled through the standard method with Host and target well with os/CONFIG_SITE.linux-x86_64.linux-arm.
But due to the specific libs, and header files for this IOC, I want to exclude the host compilation.
Is there any way to force to compile this IOC only for target Archture?
Best,
Han
--Jeong Han Lee, Dr.rer.nat
Staff Scientist and Engineer
Lawrence Berkeley National Laboratory
1 Cyclotron Road Mailstop 46R0161
Berkeley, CA 94720, United States
Tel :+1-510-486-6163
Cell:+1-510-384-3868
--Ruhr-Universität BochumAG der Experimentalphysik IDr. Florian FeldbauerNB 2/131 / Fach 125Universitätsstr. 150D-44801 BochumOffice: NB 2/134Phone: (+49)234 / 32-23563Fax: (+49)234 / 32-14170https://paluma.ruhr-uni-bochum.de-- Ruhr-Universität Bochum AG der Experimentalphysik I Dr. Florian Feldbauer NB 2/131 / Fach 125 Universitätsstr. 150 D-44801 Bochum Office: NB 2/134 Phone: (+49)234 / 32-23563 Fax: (+49)234 / 32-14170 https://paluma.ruhr-uni-bochum.de