34 lines
996 B
Python
34 lines
996 B
Python
#!/usr/bin/env python3
|
|
import os, subprocess, sys
|
|
file_dirname = os.path.dirname(__file__)
|
|
gcc = [
|
|
"/usr/bin/clang",
|
|
|
|
"-fuse-ld=lld", # to-do: mold?
|
|
"-O2",
|
|
"-lpthread", "-lssl", "-lcrypto",
|
|
|
|
"-o", os.path.join(file_dirname, "output", "bidirectiond"),
|
|
|
|
"-I" + os.path.join(file_dirname, "bdd", "headers"),
|
|
"-I" + os.path.join(file_dirname, "hashmap", "src"),
|
|
]
|
|
for directory, _, files in os.walk(os.path.join(file_dirname, "cmd")):
|
|
for file_name in files:
|
|
if file_name[-2:] != ".c":
|
|
continue
|
|
gcc.append(os.path.join(directory, file_name))
|
|
for directory, _, files in os.walk(os.path.join(file_dirname, "bdd")):
|
|
for file_name in files:
|
|
if file_name[-2:] != ".c":
|
|
continue
|
|
gcc.append(os.path.join(directory, file_name))
|
|
for directory, _, files in os.walk(os.path.join(file_dirname, "output")):
|
|
for file_name in files:
|
|
f = file_name[-2:]
|
|
if f != ".o" and f != ".a":
|
|
continue
|
|
gcc.append(os.path.join(directory, file_name))
|
|
gcc.extend(sys.argv[1:])
|
|
subprocess.run(gcc)
|