From 5f0fce4191309e9526b7109a0d87c092ce6a4193 Mon Sep 17 00:00:00 2001 From: jacopo grandi Date: Thu, 18 Feb 2021 14:14:23 +0100 Subject: main --- lcb.py | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 lcb.py (limited to 'lcb.py') diff --git a/lcb.py b/lcb.py new file mode 100644 index 0000000..54a6b65 --- /dev/null +++ b/lcb.py @@ -0,0 +1,61 @@ +# Jacopo Grandi, 15/08/2020 +# Link - Compile - Build +# mingw command creation and execution + +try: + import os + import sys + + if len(sys.argv) > 1: + os.chdir(sys.argv[1]) + + if not("main.c" in os.listdir(".")): + # try searching father folder + os.chdir("../") + if not("main.c" in os.listdir(".")): + print("no main.c found, press any key to abort...") + import msvcrt as m + m.getch() + quit() + + dirs = "-I. " + fs = "" + for d in os.listdir("."): + if d.find(".") == -1: + flag = False + for f in os.listdir("./"+d+"/"): + if f.endswith(".c"): + fs += d+"/"+f+" " + flag = True + if flag: dirs += "-I" + d + " " + + cons = "" + f = open("main.c", "r"); + mainraw = f.read(); f.close(); + if "#define LCB_NO_CONSOLE" in mainraw.splitlines(): + cons = "-Wl,-subsystem,windows" + + os.system("mkdir build") + cmd = "g++ "+\ + "main.c "+\ + fs+\ + dirs+\ + "-IC:\MinGW_libs\include\SDL2 "+\ + "-IC:\MinGW_libs\include\plibsys "+\ + "-LC:\MinGW_libs\lib "+\ + "-w "+\ + "-lmingw32 -lSDL2main -lSDL2 -lSDL2_mixer -lplibsys "+\ + "-o build/test "+\ + cons + print(cmd) + r = os.system(cmd) + + if r == 0: + print("build successfull") + os.chdir("build") + os.system("test.exe") + else: + os.system("pause") +except e: + import traceback; + open("error.txt", "w").write(''.join(tb.format_exception(None, e, e.__traceback__))) \ No newline at end of file -- cgit v1.2.3-54-g00ecf