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:
parent
3fe03734a1
commit
8aebd278f2
25
Sconstruct
25
Sconstruct
|
@ -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"])
|
||||
|
|
Loading…
Reference in New Issue