summaryrefslogtreecommitdiff
path: root/branding/scripts/generate-vendor-make.py
diff options
context:
space:
mode:
Diffstat (limited to 'branding/scripts/generate-vendor-make.py')
-rwxr-xr-xbranding/scripts/generate-vendor-make.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/branding/scripts/generate-vendor-make.py b/branding/scripts/generate-vendor-make.py
new file mode 100755
index 0000000..e7794c3
--- /dev/null
+++ b/branding/scripts/generate-vendor-make.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python3
+
+# Generates a simplified file with variables that
+# can be imported from the main vendorized Makefile.
+
+import os
+import sys
+
+import configparser
+
+from provider import getDefaultProvider
+from provider import getProviderData
+
+
+VERSION = os.environ.get('VERSION', 'unknown')
+
+TEMPLATE = """
+# Variables for the build of {applicationName}.
+# Generated automatically. Do not edit.
+APPNAME := {applicationName}
+BINNAME := {binaryName}
+VERSION := {version}
+"""
+
+
+def writeOutput(data, outfile):
+
+ configString = TEMPLATE.format(
+ binaryName=data['binaryName'],
+ applicationName=data['applicationName'],
+ version=data['version'],
+ )
+
+ with open(outfile, 'w') as outf:
+ outf.write(configString)
+
+
+if __name__ == "__main__":
+ env_provider_conf = os.environ.get('PROVIDER_CONFIG')
+ if env_provider_conf:
+ if os.path.isfile(env_provider_conf):
+ print("[+] Overriding provider config per "
+ "PROVIDER_CONFIG variable")
+ configfile = env_provider_conf
+
+ config = configparser.ConfigParser()
+ config.read(configfile)
+ provider = getDefaultProvider(config)
+ data = getProviderData(provider, config)
+
+ if len(sys.argv) != 2:
+ print('Usage: generate-vendor-make.py <output_file>')
+ sys.exit(1)
+
+ outputf = sys.argv[1]
+ data['version'] = VERSION
+
+ writeOutput(data, outputf)