EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: RE: Fun with MAKE
From: "Jeff Hill" <[email protected]>
To: "Peter Kurpis" <[email protected]>
Cc: <[email protected]>
Date: Mon, 23 Apr 2001 15:31:27 -0600
> 
> > > 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  <20012002  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  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·