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: makefile compilation question |
From: | timesir via Tech-talk <tech-talk at aps.anl.gov> |
To: | NICOLE Remi <remi.nicole at cea.fr>, tech-talk at aps.anl.gov |
Date: | Tue, 23 May 2023 01:37:38 +0800 |
Hey there!
From my understanding:
In epics-base/configure/RULES_DIR, you will find:
$(DIRS) $(dirActionTargets) $(dirArchTargets)
$(dirActionArchTargets):
$(MAKE) -C $(dirPart) $(actionArchPart)
which makes it so that 'make myApp.install' will run 'make -C myApp
install'.
and
$(ARCHS) $(ACTIONS) $(actionArchTargets) :%: \
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)%)
will make it so that 'install' depends on every '$(dir).install'
Then, in epics-base/configure/RULES, it includes RULES_ARCH, which
conceptually "splits" the build for every wanted architecture, which
then re-includes RULES but the second time, it goes into RULES_BUILD,
which defines rules for building libraries, executables, and so on for
the specified architecture (T_A).
Hope it helps.
--
Rémi NICOLE <remi.nicole at cea.fr>
CEA/DRF/IRFU/DIS/LDISC