Compiling on the command line in Linux?

edited March 2013 in General discussions
Hey everyone. I've been pretty busy lately with "real life," but I now finally have some time to devote to using ORX.

I have the ORX source tree integrated into my CodeLite project, and I can compile just fine.

However, I'd rather use a different IDE for my own project, and I was hoping to integrate the ORX compilation as a simple sub-directory Make target. I realize that CodeLite generates .mk files to build ORX, but I was wondering if there was an existing way to compile the different ORX permutations (32/64 bit, embedded / not embedded / dev vs debug) from the command line?

I guess what I could do is use codelite to generate each set of make files, then set them aside and glue them together with a master make file?


  • edited March 2013
    Hi, nice to see you here! :)

    If you're using the latest from Mercurial, CodeLite isn't your only option anymore on Linux!

    Orx now uses premake for generating all the project/build files except for XCode, Android & iOS.

    However you can't use a vanilla version of premake, you'll have to use the one I modified for orx's needs. There are also binaries stored in the Mercurial repository, for convenience sake. Those for linux are in /extern/premake/bin/linuxXX (XX being 32 or 64).

    On Linux, premake can generate project/build files for CodeLite, Code::Blocks and GNU Make. The default being GNU Make. Simply call it from within the /code/build folder, it'll generate the makefiles in /code/build/linux/gmake.
  • edited March 2013
    This is pretty cool. I'm assuming there's no difference between the 32 and 64 bit versions of premake, except for the premake binaries being 32/64, for 64 bit systems that don't have ia32libs installed?
  • edited March 2013
    Exactly, no behavioral differences in the binaries: any premake executable is capable of generating any target build files for any target OSes.

    The only slight difference will be that if you run premake on a linux 64bit system, the default target will be embedded_dynamic_debug64 whereas, from a 32bit system, the default target would then be embedded_dynamic_debug32.
    However this is not a difference in the binaries themselves, the script is simply checking the host OS to set the default target.
  • edited March 2013
    I thought as much. Thanks for this; it's a big help!
Sign In or Register to comment.