-downloaded: http://freeglut.sourceforge.net/index.php#download -copied *.c in 'src' folder of download to src -copied headers in 'include' folder of download to src -created QB64 program to help locally build freeglut without makefiles note: this program is for reference purposes only, do not run it unless you fully understand it note: for rebuilding edits to the exisiting source, simple run the batch/script file provided ########################### QB64 PROGRAM TO MANAGE FREEGLUT LIBRARY ###################################### 'FreeGLUT Source Manipulation rel_c_path$ = "..\..\" c_path$ = "c:\qb64_gl_core\internal\c\" '<<<<<<<<<< ********CHANGE ME********* path$ = c_path$ + "parts\core\" SHELL "dir /b /s " + path$ + "src\*.c >glutfiles.txt" OPEN path$ + "rebuild_libfreeglut_a.bat" FOR OUTPUT AS #10 OPEN path$ + "rebuild_libfreeglut_a_pause.bat" FOR OUTPUT AS #11 OPEN "glutfiles.txt" FOR INPUT AS #1 DO UNTIL EOF(1) LINE INPUT #1, f$ IF LEN(f$) THEN OPEN f$ FOR BINARY AS #2 a$ = SPACE$(LOF(2)) GET #2, , a$ CLOSE #2 h$ = "#ifndef FREEGLUT_STATIC" IF LEFT$(a$, LEN(h$)) <> h$ THEN a$ = "#ifndef FREEGLUT_STATIC" + CHR$(13) + CHR$(10) + "#define FREEGLUT_STATIC" + CHR$(13) + CHR$(10) + "#endif" + CHR$(13) + CHR$(10) + a$ END IF DO i = INSTR(a$, "#include ") IF i THEN MID$(a$, i) = "#include " + CHR$(34) + "freeglut.h" + CHR$(34) END IF i = INSTR(a$, "#include ") IF i THEN MID$(a$, i) = "#include " + CHR$(34) + "freeglut_std.h" + CHR$(34) END IF LOOP UNTIL i = 0 OPEN f$ FOR OUTPUT AS #2: CLOSE #2: OPEN f$ FOR BINARY AS #2 PUT #2, , a$ CLOSE #2 'strip path from it \ FOR x = LEN(f$) TO 1 STEP -1 IF ASC(f$, x) = 92 THEN EXIT FOR NEXT f2$ = RIGHT$(f$, LEN(f$) - x) '.c f3$ = LEFT$(f2$, LEN(f2$) - 2) 'without .c PRINT #10, rel_c_path$ + "bin\gcc -s -O2 -c src\" + f2$ + " -o temp\" + f3$ + ".o" PRINT #11, rel_c_path$ + "bin\gcc -s -O2 -c src\" + f2$ + " -o temp\" + f3$ + ".o" PRINT #11, "pause" o$ = o$ + " temp\" + f3$ + ".o" END IF LOOP CLOSE #1 PRINT #10, rel_c_path$ + "\bin\ar rcs libfreeglut_static.a " + o$ PRINT #11, rel_c_path$ + "\bin\ar rcs libfreeglut_static.a " + o$ PRINT #11, "********************* PROCESS COMPLETE **************************" PRINT #11, "pause" PRINT #11, "pause" PRINT #11, "pause" PRINT #11, "pause" PRINT #11, "pause" CLOSE