>
> > > I have immensely enjoyed looking at the $(EPICS_BASE)/config/RULES.Vx MAKE instructions.
> >
> > Given the increasing complexities of C++ development we were thinking of rewriting
> > all of EPICS for execution by the GNU make interpreter. An obvious advantage would
> > be a reduction in the complexity of the build system. What do you think?
>
> Having built and watched others build EPICS, I think this would be a *very* welcome
> change.
>
> As for the implementation, I am guessing you mean using the standard GNU configure
> build. Is that what you are suggesting?
Sorry about the confusion. The above was an attempt at some ( possibly
warped ) dry humor.
Of course there are other open source build systems available. I know of
"imake" invented by the X window system and
the GNU configure system. We used to use "imake" and I think that we were
all very happy to change to something ( anything ) else. The Imake
system generates the low level makefiles using a high level description.
This approach is like RATFOR in that the high level makefiles are very
readable, but if anything goes wrong you are required to work in the nearly
incomprehensible machine generated low level Makefiles. The gnu build
system is also very complex, it is very much chained to UNIX, and it
tends to ( as I understand it ) port software by encouraging the build
system to modify the source code. Not my favorite approach.
The system that EPICS uses today was invented by Mike Bordua at LBL and
also by Matt Needes at LANL (a student who is now long since departed for HP).
The system was modified to work on Microsoft OS by Kay Kasemir. Janet
Anderson has probably spent the most time on the build system. She
has made a number of excellent improvements in the areas of OS portability,
compiler flexibility, improved organization, and complexity reduction for
EPICS R3.13 and R3.14.
The systems strong points are its operating system
independence, and the low effort required to introduce a new architecture.
I suspect that our system is very unique in that we are able to use the same
Makefiles for both UNIX and MS Windows. In R3.14 this set is expanded to
include RTEMS and vxWorks. Its difficult to reach these goals without some
complexity, and also without introducing some constraints on the application's
Makefiles.
One goal of the build system was to, where ever possible, move complexity
out of application makefiles, and into the build system. Consequently,
the system's internals _are_ very complicated, and if the answers are not
obvious while introducing off normal application Makefile syntax, then it
might be best to discuss your situation with someone that works with the
build system internals every day. In any case thats what I do.
Jeff
- Replies:
- Re: Fun with MAKE Steve Wampler
- References:
- RE: Fun with MAKE Peter Kurpis
- Navigate by Date:
- Prev:
RE: Fun with MAKE Kay-Uwe Kasemir
- Next:
Re: Fun with MAKE Steve Wampler
- 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
- Navigate by Thread:
- Prev:
RE: Fun with MAKE Kay-Uwe Kasemir
- Next:
Re: Fun with MAKE Steve Wampler
- 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
|