Personal tools
You are here: Home development ModularBuildSystem
Views

Edit history

Edit: -1 of 1
Time: 2013-02-04 02:03:39
Note: /pd/pd/dev/ModularBuildSystem/edit "done in a way"

changed:
-
currently the Pd-extended build-system features 

- a working system

- a huge monolithic Makefile

- dependencies on several toplevel directories


this basically means that you have to checkout a lot of code if you need and want to build a single external (and not the entire shebang)


proposal:

 - split monolithic Makefile into separate small Makefiles which are then called recursively

 - each extended-enabled sub-directory in externals/ holds a 'Makefile.extended'

   - if 'Makefile.extended' is present, it will be called from the main externals/Makefile recursively

 - there is only a small number of build-targets

  in order of inter-dependencies

  - 'configure' -- runs autoconf or whatever (if needed)

  - 'build' (default) -- builds the binary

  - 'install' -- installs the binaries into a certain location (see below)

  - 'clean' -- remove build leftovers

 - configuration (e.g. path to pd-headers, compiler to use,...) 

   - should be distributed via environment variables

   - rather than via '-include Makefile.common' constructs

 - use GNU standards:

   - e.g. 'prefix', 'DESTDIR',... http://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html

 - each Makefile.extended is responsible to make the modules own build system (if available) conformant to this standards 


From rfabbri Wed Sep 28 01:00:20 +0200 2011
From: rfabbri
Date: Wed, 28 Sep 2011 01:00:20 +0200
Subject: obsolete?
Message-ID: <20110928010020+0200@puredata.info>

this has alredy been done, right?

From rfabbri Wed Sep 28 01:00:27 +0200 2011
From: rfabbri
Date: Wed, 28 Sep 2011 01:00:27 +0200
Subject: obsolete?
Message-ID: <20110928010027+0200@puredata.info>

this has already been done, right?

From hans Mon Feb 4 02:01:38 +0100 2013
From: hans
Date: Mon, 04 Feb 2013 02:01:38 +0100
Subject: done in a way
Message-ID: <20130204020138+0100@puredata.info>

The "Library Template":http://puredata.info/docs/developer/LibraryTemplate accomplishes this in a somewhat different approach.  I think it covers the over-arching idea.

Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser