build: Create an install target

This copies files into /usr/lib/ocarina and then creates
/usr/bin/ocarina to run the program.
This commit is contained in:
Bryan Schumaker 2011-11-07 23:42:59 -05:00
parent 3fe03734a1
commit 8aebd278f2
1 changed files with 24 additions and 1 deletions

View File

@ -1,9 +1,13 @@
#!/usr/bin/python
MAJOR = 5
MINOR = 3
BUG = 0
EXTRA = ""
DEBUG = True
PREFIX = "/usr"
FLAGS = ["-O2"]
if DEBUG == True:
FLAGS = ["-Wall", "-Werror", "-g", "-DDEBUG"]
@ -35,4 +39,23 @@ def list_dirs(directory):
return [Glob(dir + "/*.cpp") for dir in dirs]
ocarina=env.Program('ocarina.bin', list_dirs('libsaria') + list_dirs('ocarina'))
Clean(ocarina, "include/version.h")
# Install Ocarina
lib = PREFIX + "/lib/ocarina"
bin = PREFIX + "/bin/ocarina"
images = lib + "/images"
env.Install(lib, ocarina)
env.Alias("install", [lib, images, bin])
env.Command(images, "./images/", [Copy(images, "./images")])
def ocarina_sh():
f = open("ocarina.sh", "w")
f.write("#!/bin/bash\n")
f.write("CWD=`pwd`\n")
f.write("cd " + PREFIX + "/lib/ocarina/ && ./ocarina.bin\n")
f.write("cd $CWD\n")
f.close()
return "./ocarina.sh"
env.Command(bin, ocarina_sh(), [Move(bin, "$SOURCE"), Chmod(bin, 0755)])
# Clean up the build directory
Clean(ocarina, ["include/version.h"])