Commit Graph

4 Commits

Author SHA1 Message Date
Albert Hopkins e89d24ccfe I learned a lot about Makefiles :D
So, basically I re-architeched things a bit:

The appliance/Makefile.inc fiels are now appliance/Makefile (again). The
main Makefile will call "make -C appliance preinstall" and "postinstall"
(and in future "clean").  So I got rid of the ugly make variables/include
thing.  Some of the main Makefile's variables are exported to the
sub-makes.  Appliances don't really need $(APPLIANCE) anymore as the
appliance directory is their CWD.

Added some new targets and smarter targets.  I can do more with this, but
it's a big improvment from last time.  Still learning a lot of Makefile
magic (been reading other people's Makefiles).

Verified that "make -j3" works (at least on the base appliance) but will
kill your hard drive :D

Introduced "profiles"  Which are files with variables you want to override.
The file will be "include"ed by the main Makefile.  For example, I have a
file, "local.cfg" that looks like this:

--- 8< -----------------------------
CHROOT = /var/scratch/marduk/vabuild
HEADLESS = YES
PRUNE_CRITICAL = NO
VIRTIO = YES
TIMEZONE = EST5EDT
DISK_SIZE = 60.0G
SWAP_SIZE = 48
PKGDIR = /var/scratch/packages
NBD_DEV = /dev/nbd8

all: qcow
--- 8< ------------------------------

Then, e.g. i can run "make PROFILE=local APPLIANCE=kde".  If you don't
specify a PROFILE variable, then it will default to the empty string, which
means the main Makefile will attempt to include .cfg

So, for example i have:

   $ ln -s local.cfg .cfg
   $ make APPLIANCE=kde

Don't set PROFILE inside your .cfg file (why would you?).  Also, if the
[pro]file does not exist, the include fails silently.

I will put this info in the wiki eventually...
2010-11-13 18:22:18 -05:00
Albert Hopkins 9fed2e9a12 xfce/world: add more packages to world file 2010-10-08 00:54:19 -04:00
Albert Hopkins 7cf0f4ecf2 Changed from preinstall/postintall scripts to Makefile include files 2010-10-06 07:37:32 -04:00
Albert Hopkins b95132a264 * Add ACCEPT_KEYWORDS Makefile option
* kde: Works now in ~amd64 also
* gnome: (Hopefully) works now in ~amd64 also
* Add xfce virtual appliance
* Add HEADLESS Makefile option that configures grub.conf and /etc/inittab
  to use serial console
2010-09-18 02:43:14 -04:00