Project Neon: neonmake

I totally forgot to blog yesterday :-S

Anyway, since the first day of Project Neon, there was neonmake. You might be wondering what neonmake is, though if you read all the other blog posts about Project Neon you probably know that I will explain it as following:

neonmake is a wrapper around make, ensuring all environment variables are set as necessary

That however doesn’t really describe it very well, in theory neonmake should be called amarok-nightly-kde-nightly-cmake-make-sudo-make-install, which of course is far too long😉

Well, let’s get through it step by step.

neonmake consists of 3 parts – neonmake, make.sh and varsrc

  • neonmake is a wrapper around cmake, make.sh and sudo make install
  • the nifty thing about it is that it will bring you to $src/build, or stay there, or create it (i.e. it forces you to do out-of-source builds and keep your source tree clean🙂
  • it will also detect whether you are trying to compile anything amarokish (i.e. if amaork is part of the source directory’s name) and tell make.sh about it
  • make.sh is a wrapper around make and varsrc
  • it will force compiling against kde-nightly or amarok-nightly depending on certain magic cases and invoke vasrc
  • once varsrc is finished it will run make
  • varsrc is responsible for the environment variables and is usually invoked by all amarok-nightly-* or neon* scripts

The actual capabilities are quite confusing (I think I don’t even understand it completely, and I created that thing after all).

  1. you can run neonmake with kde or amarok as argument forcing it to compile against kde-nightly or amarok-nightly
  2. if the source folder contains the word “amarok” neonmake will asume you compile against amarok-nightly
  3. neonmake will create and/or take you to a subdirecotry called “build” ensuring you do an out-of-source build
  4. if 1. and 2. don’t apply varsrc will check whether kde-nightly’s kde4-config is available
  5. if kde4-config doesn’t return the proper direcotries it asumes we have kde-nightly installed but aren’t using it -> variables for amarok-nightly
  6. if 4. does not apply (i.e. no kde-nightly is installed) it will check for amarok-nightly’s kde4-config, if it is available -> varaiables for amarok-nightly
  7. if none applies it will throw out totally insane errors

to sum that up:

  • you can only compile against kde-nightly with kde as argument or when you are running it
  • you can only compile against amarok-nightly with amarok as argument or when kde-nightly is not installed or when the directory name contains amarok

Suggestions for improvements, as always, very welcome.

Now you go play with neonmake and I have to rest from this post.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s