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: [email protected] (Peter Kurpis)
To: [email protected]
Date: Mon, 23 Apr 2001 12:05:01 -1000 (HST)
> > > > 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.

Well, it's Monday morning here, and I think I'll need another cup of
coffee before I wake up :-)

> 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.

I am not aware of this.  I understand it searches for tools and defines
them in a makefile that it modifies.

>From a user's perspective, it is very simple, as anyone who has installed
GNU tools would attest.  From a maintainer's perspective, I don't think
it's too bad either -- but it always depends on what you're used to.

I don't think it easily supports a Win32 build, however.  And I think
the Cygnus installation installs some tools to make DOS look like more
like a UNIX environment, and uses that environment for building, not
the vanilla DOS environment.

> 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. 

But should this be a design goal, considering the cost in complexity?  Or
perhaps reverting to maintaining two simpler make systems could be 
reconsidered?  (Just asking.  I of course have not considered this as
carefully as y'all have, but I have worked with software that has 
adopted this philiosophy, so there's some reasonableness to the 
suggestion.)

> 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.

Thanks!  I appreciate the offer.  One thing that is great about this build
system is the support behind it.


Navigate by Date:
Prev: RE: Fun with MAKE Peter Kurpis
Next: RE: Fun with MAKE Jeff Hill
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 Peter Kurpis
Next: CA problem while using EVENT I/O Cheng Weixing
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 ·