diff --git a/kmake/src/Exporters/EmscriptenExporter.ts b/kmake/src/Exporters/EmscriptenExporter.ts index 6a7a3ab85a..07c6347a67 100644 --- a/kmake/src/Exporters/EmscriptenExporter.ts +++ b/kmake/src/Exporters/EmscriptenExporter.ts @@ -5,225 +5,72 @@ import { GraphicsApi } from 'kmake/GraphicsApi'; import * as fs from 'kmake/fsextra'; import * as path from 'path'; import { CompilerCommandsExporter } from 'kmake/Exporters/CompileCommandsExporter'; +import { MakeExporter } from 'kmake/Exporters/MakeExporter'; export class EmscriptenExporter extends Exporter { compileCommands: CompilerCommandsExporter; + make: MakeExporter; - constructor(options: any) { + constructor(project: Project, options: any) { super(options); this.compileCommands = new CompilerCommandsExporter(options); - } - - exportMakefile(project: Project, from: string, to: string, platform: string, vrApi: any, options: any) { - const cCompiler = 'emcc'; - const cppCompiler = 'emcc'; - - let objects: any = {}; - let ofiles: any = {}; - let outputPath = path.resolve(to, options.buildPath); - fs.ensureDirSync(outputPath); - - let debugDirName = project.getDebugDir(); - debugDirName = debugDirName.replace(/\\/g, '/'); - if (debugDirName.endsWith('/')) debugDirName = debugDirName.substr(0, debugDirName.length - 1); - if (debugDirName.lastIndexOf('/') >= 0) debugDirName = debugDirName.substr(debugDirName.lastIndexOf('/') + 1); - fs.copyDirSync(path.resolve(from, debugDirName), path.resolve(outputPath, debugDirName)); - - for (let fileobject of project.getFiles()) { - let file = fileobject.file; - if (file.endsWith('.cpp') || file.endsWith('.c') || file.endsWith('.cc') || file.endsWith('.s') || file.endsWith('.S')) { - let name = file.toLowerCase(); - if (name.indexOf('/') >= 0) name = name.substr(name.lastIndexOf('/') + 1); - name = name.substr(0, name.lastIndexOf('.')); - if (!objects[name]) { - objects[name] = true; - ofiles[file] = name; - } - else { - while (objects[name]) { - name = name + '_'; - } - objects[name] = true; - ofiles[file] = name; - } - } + let linkerFlags = '-static-libgcc -static-libstdc++'; + if (project.targetOptions.emscripten.threads) { + linkerFlags += ' -pthread'; } - let gchfilelist = ''; - let precompiledHeaders: string[] = []; - for (let file of project.getFiles()) { - if (file.options && file.options.pch && precompiledHeaders.indexOf(file.options.pch) < 0) { - precompiledHeaders.push(file.options.pch); - } + if (project.targetOptions.emscripten.threads) { + linkerFlags += ' -pthread'; } - for (let file of project.getFiles()) { - let precompiledHeader: string = null; - for (let header of precompiledHeaders) { - if (file.file.endsWith(header)) { - precompiledHeader = header; - break; - } - } - if (precompiledHeader !== null) { - // let realfile = path.relative(outputPath, path.resolve(from, file.file)); - gchfilelist += path.basename(file.file) + '.gch '; - } + + linkerFlags += ' -s TOTAL_MEMORY=134217728 '; + if (Options.graphicsApi === GraphicsApi.WebGPU) { + linkerFlags += '-s USE_WEBGPU=1 '; } - let ofilelist = ''; - for (let o in objects) { - ofilelist += o + '.o '; + let executableName = project.getSafeName(); + if (project.getExecutableName()) { + executableName = project.getExecutableName(); } - this.writeFile(path.resolve(outputPath, 'makefile')); + linkerFlags += ' -o ' + executableName + '.html --preload-file ' + this.debugDirName(project); - let incline = '-I./ '; // local directory to pick up the precompiled header hxcpp.h.gch - for (let inc of project.getIncludeDirs()) { - inc = path.relative(outputPath, path.resolve(from, inc)); - incline += '-I' + inc + ' '; - } - this.p('INC=' + incline); + this.make = new MakeExporter(options, 'emcc', 'emcc', '', '', '', '.html', this.libsMakeLine); + } - let libsline = '-static-libgcc -static-libstdc++'; - if (project.targetOptions.emscripten.threads) { - libsline += ' -pthread'; - } - /*if (project.cmd) { - libsline += ' -static'; - }*/ + libsMakeLine(project: Project): string { + let libs = ''; for (let lib of project.getLibs()) { if (lib.startsWith('USE_')) { - libsline += ' -s' + lib; + libs += ' -s' + lib; } else { - libsline += ' -l' + lib; - } - } - this.p('LIB=' + libsline); - - let defline = ''; - - if (!options.debug) { - defline += '-DNDEBUG '; - } - - for (const def of project.getDefines()) { - if (def.config && def.config.toLowerCase() === 'debug' && !options.debug) { - continue; - } - - if (def.config && def.config.toLowerCase() === 'release' && options.debug) { - continue; + libs += ' -l' + lib; } - - defline += '-D' + def.value.replace(/\"/g, '\\"') + ' '; - } - defline += '-D KORE_DEBUGDIR="\\"' + debugDirName + '\\""' + ' '; - this.p('DEF=' + defline); - this.p(); - - let cline = '-std=c99 '; - if (project.cStd !== '') { - cline = '-std=' + project.cStd + ' '; - } - if (options.dynlib) { - cline += '-fPIC '; } - for (let flag of project.cFlags) { - cline += flag + ' '; - } - this.p('CFLAGS=' + cline); - - let cppline = ''; - if (options.dynlib) { - cppline += '-fPIC '; - } - for (let flag of project.cppFlags) { - cppline += flag + ' '; - } - this.p('CPPFLAGS=' + cppline); - - let optimization = ''; - if (!options.debug) optimization = '-O2'; - else optimization = '-g'; - - if (options.lib) { - this.p(project.getSafeName() + '.a: ' + gchfilelist + ofilelist); - } - else if (options.dynlib) { - this.p(project.getSafeName() + '.so: ' + gchfilelist + ofilelist); - } - else { - this.p('index.html' + ': ' + gchfilelist + ofilelist); - } - - let cpp = ''; - // cpp = '-std=c++11'; - if (project.targetOptions.emscripten.threads) { - cpp += ' -pthread'; - } - - let linkerFlags = '-s TOTAL_MEMORY=134217728 '; - if (Options.graphicsApi === GraphicsApi.WebGPU) { - linkerFlags += '-s USE_WEBGPU=1 '; - } - - let output = ' ' + linkerFlags + '-o index.html --preload-file ' + debugDirName; - if (options.lib) { - output = '-o "' + project.getSafeName() + '.a"'; - } - else if (options.dynlib) { - output = '-shared -o "' + project.getSafeName() + '.so"'; - } - this.p('\t' + (options.lib ? 'ar rcs' : cppCompiler) + ' ' + output + ' ' + cpp + ' ' + optimization + ' ' + ofilelist + ' $(LIB)'); + return libs; + } - for (let file of project.getFiles()) { - let precompiledHeader: string = null; - for (let header of precompiledHeaders) { - if (file.file.endsWith(header)) { - precompiledHeader = header; - break; - } - } - if (precompiledHeader !== null) { - let realfile = path.relative(outputPath, path.resolve(from, file.file)); - this.p(path.basename(realfile) + '.gch: ' + realfile); - this.p('\t' + cppCompiler + ' ' + cpp + ' ' + optimization + ' $(INC) $(DEF) -c ' + realfile + ' -o ' + path.basename(file.file) + '.gch'); - } + debugDirName(project: Project): string { + let name = project.getDebugDir(); + name = name.replace(/\\/g, '/'); + if (name.endsWith('/')) { + name = name.substr(0, name.length - 1); } - - for (let fileobject of project.getFiles()) { - let file = fileobject.file; - if (file.endsWith('.c') || file.endsWith('.cpp') || file.endsWith('.cc') || file.endsWith('.s') || file.endsWith('.S')) { - this.p(); - let name = ofiles[file]; - let realfile = path.relative(outputPath, path.resolve(from, file)); - this.p(name + '.o: ' + realfile); - - let compiler = cppCompiler; - let flags = '$(CPPFLAGS)'; - if (file.endsWith('.c')) { - compiler = cCompiler; - flags = '$(CFLAGS)'; - } - else if (file.endsWith('.s') || file.endsWith('.S')) { - compiler = cCompiler; - flags = ''; - } - - this.p('\t' + compiler + ' ' + cpp + ' ' + optimization + ' $(INC) $(DEF) ' + flags + ' -c ' + realfile + ' -o ' + name + '.o'); - } + if (name.lastIndexOf('/') >= 0) { + name = name.substr(name.lastIndexOf('/') + 1); } - - // project.getDefines() - // project.getIncludeDirs() - - this.closeFile(); + return name; } async exportSolution(project: Project, from: string, to: string, platform: string, vrApi: any, options: any) { - this.exportMakefile(project, from, to, platform, vrApi, options); + let outputPath = path.resolve(to, options.buildPath); + fs.ensureDirSync(outputPath); + + fs.copyDirSync(path.resolve(from, this.debugDirName(project)), path.resolve(outputPath, this.debugDirName(project))); + + this.make.exportSolution(project, from, to, platform, vrApi, options); this.compileCommands.exportSolution(project, from, to, platform, vrApi, options); } } diff --git a/kmake/src/Exporters/MakeExporter.ts b/kmake/src/Exporters/MakeExporter.ts index f4653aaff9..1539144790 100644 --- a/kmake/src/Exporters/MakeExporter.ts +++ b/kmake/src/Exporters/MakeExporter.ts @@ -14,7 +14,7 @@ export class MakeExporter extends Exporter { linkerFlags: string; outputExtension: string; - constructor(options: any, cCompiler: string, cppCompiler: string, cFlags: string, cppFlags: string, linkerFlags: string, outputExtension: string) { + constructor(options: any, cCompiler: string, cppCompiler: string, cFlags: string, cppFlags: string, linkerFlags: string, outputExtension: string, libsLine: (p: Project) => string = null) { super(options); this.cCompiler = cCompiler; this.cppCompiler = cppCompiler; @@ -22,6 +22,17 @@ export class MakeExporter extends Exporter { this.cppFlags = cppFlags; this.linkerFlags = linkerFlags; this.outputExtension = outputExtension; + if (libsLine != null) { + this.libsLine = libsLine; + } + } + + libsLine(project: Project): string { + let libs = ''; + for (let lib of project.getLibs()) { + libs += ' -l' + lib; + } + return libs; } async exportSolution(project: Project, from: string, to: string, platform: string, vrApi: any, options: any) { @@ -78,18 +89,14 @@ export class MakeExporter extends Exporter { this.writeFile(path.resolve(outputPath, 'makefile')); - let incline = '-I./ '; // local directory to pick up the precompiled header hxcpp.h.gch + let incline = '-I./ '; // local directory to pick up the precompiled headers for (let inc of project.getIncludeDirs()) { inc = path.relative(outputPath, path.resolve(from, inc)); incline += '-I' + inc + ' '; } this.p('INC=' + incline); - let libsline = this.linkerFlags; - for (let lib of project.getLibs()) { - libsline += ' -l' + lib; - } - this.p('LIB=' + libsline); + this.p('LIB=' + this.linkerFlags + this.libsLine(project)); let defline = ''; for (const def of project.getDefines()) { @@ -146,8 +153,6 @@ export class MakeExporter extends Exporter { this.p(executableName + this.outputExtension + ': ' + gchfilelist + ofilelist); - let cpp = ''; - let output = '-o "' + executableName + this.outputExtension + '"'; if (options.dynlib) { output = '-shared -o "' + executableName + '.so"'; @@ -157,7 +162,7 @@ export class MakeExporter extends Exporter { this.p('\t' + 'ar rcs ' + output + ' ' + ofilelist); } else { - this.p('\t' + this.cppCompiler + ' ' + output + ' ' + cpp + ' ' + optimization + ' ' + ofilelist + ' $(LIB)'); + this.p('\t' + this.cppCompiler + ' ' + output + ' ' + optimization + ' ' + ofilelist + ' $(LIB)'); } for (let file of project.getFiles()) { @@ -172,7 +177,7 @@ export class MakeExporter extends Exporter { let realfile = path.relative(outputPath, path.resolve(from, file.file)); this.p('-include ' + path.basename(file.file) + '.d'); this.p(path.basename(realfile) + '.gch: ' + realfile); - this.p('\t' + this.cppCompiler + ' ' + cpp + ' ' + optimization + ' $(INC) $(DEF) -MD -c ' + realfile + ' -o ' + path.basename(file.file) + '.gch'); + this.p('\t' + this.cppCompiler + ' ' + optimization + ' $(INC) $(DEF) -MD -c ' + realfile + ' -o ' + path.basename(file.file) + '.gch'); } } @@ -198,13 +203,10 @@ export class MakeExporter extends Exporter { flags = ''; } - this.p('\t' + compiler + ' ' + cpp + ' ' + optimization + ' $(INC) $(DEF) -MD ' + flags + ' -c ' + realfile + ' -o ' + name + '.o'); + this.p('\t' + compiler + ' ' + optimization + ' $(INC) $(DEF) -MD ' + flags + ' -c ' + realfile + ' -o ' + name + '.o'); } } - // project.getDefines() - // project.getIncludeDirs() - this.closeFile(); } } diff --git a/kmake/src/main.ts b/kmake/src/main.ts index c974b63c1e..15c0e186ec 100644 --- a/kmake/src/main.ts +++ b/kmake/src/main.ts @@ -626,7 +626,7 @@ async function exportKoremakeProject(from: string, to: string, platform: string, } else if (platform === Platform.iOS || platform === Platform.OSX || platform === Platform.tvOS) exporter = new XCodeExporter(options); else if (platform === Platform.Android) exporter = new AndroidExporter(options); - else if (platform === Platform.Emscripten) exporter = new EmscriptenExporter(options); + else if (platform === Platform.Emscripten) exporter = new EmscriptenExporter(project, options); else if (platform === Platform.Wasm) exporter = new WasmExporter(options); else if (platform === Platform.Linux || platform === Platform.Pi) exporter = new LinuxExporter(options); else if (platform === Platform.FreeBSD) exporter = new FreeBSDExporter(options); diff --git a/lib/kmake/Exporters/EmscriptenExporter.js b/lib/kmake/Exporters/EmscriptenExporter.js index 8b1029dfed..ee530cae8f 100644 --- a/lib/kmake/Exporters/EmscriptenExporter.js +++ b/lib/kmake/Exporters/EmscriptenExporter.js @@ -7,198 +7,57 @@ const GraphicsApi_1 = require("kmake/GraphicsApi"); const fs = require("kmake/fsextra"); const path = require("path"); const CompileCommandsExporter_1 = require("kmake/Exporters/CompileCommandsExporter"); +const MakeExporter_1 = require("kmake/Exporters/MakeExporter"); class EmscriptenExporter extends Exporter_1.Exporter { - constructor(options) { + constructor(project, options) { super(options); this.compileCommands = new CompileCommandsExporter_1.CompilerCommandsExporter(options); - } - exportMakefile(project, from, to, platform, vrApi, options) { - const cCompiler = 'emcc'; - const cppCompiler = 'emcc'; - let objects = {}; - let ofiles = {}; - let outputPath = path.resolve(to, options.buildPath); - fs.ensureDirSync(outputPath); - let debugDirName = project.getDebugDir(); - debugDirName = debugDirName.replace(/\\/g, '/'); - if (debugDirName.endsWith('/')) - debugDirName = debugDirName.substr(0, debugDirName.length - 1); - if (debugDirName.lastIndexOf('/') >= 0) - debugDirName = debugDirName.substr(debugDirName.lastIndexOf('/') + 1); - fs.copyDirSync(path.resolve(from, debugDirName), path.resolve(outputPath, debugDirName)); - for (let fileobject of project.getFiles()) { - let file = fileobject.file; - if (file.endsWith('.cpp') || file.endsWith('.c') || file.endsWith('.cc') || file.endsWith('.s') || file.endsWith('.S')) { - let name = file.toLowerCase(); - if (name.indexOf('/') >= 0) - name = name.substr(name.lastIndexOf('/') + 1); - name = name.substr(0, name.lastIndexOf('.')); - if (!objects[name]) { - objects[name] = true; - ofiles[file] = name; - } - else { - while (objects[name]) { - name = name + '_'; - } - objects[name] = true; - ofiles[file] = name; - } - } - } - let gchfilelist = ''; - let precompiledHeaders = []; - for (let file of project.getFiles()) { - if (file.options && file.options.pch && precompiledHeaders.indexOf(file.options.pch) < 0) { - precompiledHeaders.push(file.options.pch); - } - } - for (let file of project.getFiles()) { - let precompiledHeader = null; - for (let header of precompiledHeaders) { - if (file.file.endsWith(header)) { - precompiledHeader = header; - break; - } - } - if (precompiledHeader !== null) { - // let realfile = path.relative(outputPath, path.resolve(from, file.file)); - gchfilelist += path.basename(file.file) + '.gch '; - } - } - let ofilelist = ''; - for (let o in objects) { - ofilelist += o + '.o '; - } - this.writeFile(path.resolve(outputPath, 'makefile')); - let incline = '-I./ '; // local directory to pick up the precompiled header hxcpp.h.gch - for (let inc of project.getIncludeDirs()) { - inc = path.relative(outputPath, path.resolve(from, inc)); - incline += '-I' + inc + ' '; - } - this.p('INC=' + incline); - let libsline = '-static-libgcc -static-libstdc++'; + let linkerFlags = '-static-libgcc -static-libstdc++'; if (project.targetOptions.emscripten.threads) { - libsline += ' -pthread'; - } - /*if (project.cmd) { - libsline += ' -static'; - }*/ - for (let lib of project.getLibs()) { - if (lib.startsWith('USE_')) { - libsline += ' -s' + lib; - } - else { - libsline += ' -l' + lib; - } - } - this.p('LIB=' + libsline); - let defline = ''; - if (!options.debug) { - defline += '-DNDEBUG '; - } - for (const def of project.getDefines()) { - if (def.config && def.config.toLowerCase() === 'debug' && !options.debug) { - continue; - } - if (def.config && def.config.toLowerCase() === 'release' && options.debug) { - continue; - } - defline += '-D' + def.value.replace(/\"/g, '\\"') + ' '; - } - defline += '-D KORE_DEBUGDIR="\\"' + debugDirName + '\\""' + ' '; - this.p('DEF=' + defline); - this.p(); - let cline = '-std=c99 '; - if (project.cStd !== '') { - cline = '-std=' + project.cStd + ' '; - } - if (options.dynlib) { - cline += '-fPIC '; - } - for (let flag of project.cFlags) { - cline += flag + ' '; - } - this.p('CFLAGS=' + cline); - let cppline = ''; - if (options.dynlib) { - cppline += '-fPIC '; - } - for (let flag of project.cppFlags) { - cppline += flag + ' '; - } - this.p('CPPFLAGS=' + cppline); - let optimization = ''; - if (!options.debug) - optimization = '-O2'; - else - optimization = '-g'; - if (options.lib) { - this.p(project.getSafeName() + '.a: ' + gchfilelist + ofilelist); - } - else if (options.dynlib) { - this.p(project.getSafeName() + '.so: ' + gchfilelist + ofilelist); - } - else { - this.p('index.html' + ': ' + gchfilelist + ofilelist); + linkerFlags += ' -pthread'; } - let cpp = ''; - // cpp = '-std=c++11'; if (project.targetOptions.emscripten.threads) { - cpp += ' -pthread'; + linkerFlags += ' -pthread'; } - let linkerFlags = '-s TOTAL_MEMORY=134217728 '; + linkerFlags += ' -s TOTAL_MEMORY=134217728 '; if (Options_1.Options.graphicsApi === GraphicsApi_1.GraphicsApi.WebGPU) { linkerFlags += '-s USE_WEBGPU=1 '; } - let output = ' ' + linkerFlags + '-o index.html --preload-file ' + debugDirName; - if (options.lib) { - output = '-o "' + project.getSafeName() + '.a"'; + let executableName = project.getSafeName(); + if (project.getExecutableName()) { + executableName = project.getExecutableName(); } - else if (options.dynlib) { - output = '-shared -o "' + project.getSafeName() + '.so"'; - } - this.p('\t' + (options.lib ? 'ar rcs' : cppCompiler) + ' ' + output + ' ' + cpp + ' ' + optimization + ' ' + ofilelist + ' $(LIB)'); - for (let file of project.getFiles()) { - let precompiledHeader = null; - for (let header of precompiledHeaders) { - if (file.file.endsWith(header)) { - precompiledHeader = header; - break; - } + linkerFlags += ' -o ' + executableName + '.html --preload-file ' + this.debugDirName(project); + this.make = new MakeExporter_1.MakeExporter(options, 'emcc', 'emcc', '', '', '', '.html', this.libsMakeLine); + } + libsMakeLine(project) { + let libs = ''; + for (let lib of project.getLibs()) { + if (lib.startsWith('USE_')) { + libs += ' -s' + lib; } - if (precompiledHeader !== null) { - let realfile = path.relative(outputPath, path.resolve(from, file.file)); - this.p(path.basename(realfile) + '.gch: ' + realfile); - this.p('\t' + cppCompiler + ' ' + cpp + ' ' + optimization + ' $(INC) $(DEF) -c ' + realfile + ' -o ' + path.basename(file.file) + '.gch'); + else { + libs += ' -l' + lib; } } - for (let fileobject of project.getFiles()) { - let file = fileobject.file; - if (file.endsWith('.c') || file.endsWith('.cpp') || file.endsWith('.cc') || file.endsWith('.s') || file.endsWith('.S')) { - this.p(); - let name = ofiles[file]; - let realfile = path.relative(outputPath, path.resolve(from, file)); - this.p(name + '.o: ' + realfile); - let compiler = cppCompiler; - let flags = '$(CPPFLAGS)'; - if (file.endsWith('.c')) { - compiler = cCompiler; - flags = '$(CFLAGS)'; - } - else if (file.endsWith('.s') || file.endsWith('.S')) { - compiler = cCompiler; - flags = ''; - } - this.p('\t' + compiler + ' ' + cpp + ' ' + optimization + ' $(INC) $(DEF) ' + flags + ' -c ' + realfile + ' -o ' + name + '.o'); - } + return libs; + } + debugDirName(project) { + let name = project.getDebugDir(); + name = name.replace(/\\/g, '/'); + if (name.endsWith('/')) { + name = name.substr(0, name.length - 1); + } + if (name.lastIndexOf('/') >= 0) { + name = name.substr(name.lastIndexOf('/') + 1); } - // project.getDefines() - // project.getIncludeDirs() - this.closeFile(); + return name; } async exportSolution(project, from, to, platform, vrApi, options) { - this.exportMakefile(project, from, to, platform, vrApi, options); + let outputPath = path.resolve(to, options.buildPath); + fs.ensureDirSync(outputPath); + fs.copyDirSync(path.resolve(from, this.debugDirName(project)), path.resolve(outputPath, this.debugDirName(project))); + this.make.exportSolution(project, from, to, platform, vrApi, options); this.compileCommands.exportSolution(project, from, to, platform, vrApi, options); } } diff --git a/lib/kmake/Exporters/EmscriptenExporter.js.map b/lib/kmake/Exporters/EmscriptenExporter.js.map index 4003bda2f7..562a252ff0 100644 --- a/lib/kmake/Exporters/EmscriptenExporter.js.map +++ b/lib/kmake/Exporters/EmscriptenExporter.js.map @@ -1 +1 @@ -{"version":3,"file":"EmscriptenExporter.js","sourceRoot":"","sources":["../../../kmake/src/Exporters/EmscriptenExporter.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"EmscriptenExporter.js","sourceRoot":"","sources":["../../../kmake/src/Exporters/EmscriptenExporter.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/kmake/Exporters/MakeExporter.js b/lib/kmake/Exporters/MakeExporter.js index c28e07f132..d2a9144bc4 100644 --- a/lib/kmake/Exporters/MakeExporter.js +++ b/lib/kmake/Exporters/MakeExporter.js @@ -5,7 +5,7 @@ const Exporter_1 = require("kmake/Exporters/Exporter"); const fs = require("kmake/fsextra"); const path = require("path"); class MakeExporter extends Exporter_1.Exporter { - constructor(options, cCompiler, cppCompiler, cFlags, cppFlags, linkerFlags, outputExtension) { + constructor(options, cCompiler, cppCompiler, cFlags, cppFlags, linkerFlags, outputExtension, libsLine = null) { super(options); this.cCompiler = cCompiler; this.cppCompiler = cppCompiler; @@ -13,6 +13,16 @@ class MakeExporter extends Exporter_1.Exporter { this.cppFlags = cppFlags; this.linkerFlags = linkerFlags; this.outputExtension = outputExtension; + if (libsLine != null) { + this.libsLine = libsLine; + } + } + libsLine(project) { + let libs = ''; + for (let lib of project.getLibs()) { + libs += ' -l' + lib; + } + return libs; } async exportSolution(project, from, to, platform, vrApi, options) { let objects = {}; @@ -64,17 +74,13 @@ class MakeExporter extends Exporter_1.Exporter { ofilelist += o + '.o '; } this.writeFile(path.resolve(outputPath, 'makefile')); - let incline = '-I./ '; // local directory to pick up the precompiled header hxcpp.h.gch + let incline = '-I./ '; // local directory to pick up the precompiled headers for (let inc of project.getIncludeDirs()) { inc = path.relative(outputPath, path.resolve(from, inc)); incline += '-I' + inc + ' '; } this.p('INC=' + incline); - let libsline = this.linkerFlags; - for (let lib of project.getLibs()) { - libsline += ' -l' + lib; - } - this.p('LIB=' + libsline); + this.p('LIB=' + this.linkerFlags + this.libsLine(project)); let defline = ''; for (const def of project.getDefines()) { if (def.config && def.config.toLowerCase() === 'debug' && !options.debug) { @@ -123,7 +129,6 @@ class MakeExporter extends Exporter_1.Exporter { executableName = project.getExecutableName(); } this.p(executableName + this.outputExtension + ': ' + gchfilelist + ofilelist); - let cpp = ''; let output = '-o "' + executableName + this.outputExtension + '"'; if (options.dynlib) { output = '-shared -o "' + executableName + '.so"'; @@ -132,7 +137,7 @@ class MakeExporter extends Exporter_1.Exporter { this.p('\t' + 'ar rcs ' + output + ' ' + ofilelist); } else { - this.p('\t' + this.cppCompiler + ' ' + output + ' ' + cpp + ' ' + optimization + ' ' + ofilelist + ' $(LIB)'); + this.p('\t' + this.cppCompiler + ' ' + output + ' ' + optimization + ' ' + ofilelist + ' $(LIB)'); } for (let file of project.getFiles()) { let precompiledHeader = null; @@ -146,7 +151,7 @@ class MakeExporter extends Exporter_1.Exporter { let realfile = path.relative(outputPath, path.resolve(from, file.file)); this.p('-include ' + path.basename(file.file) + '.d'); this.p(path.basename(realfile) + '.gch: ' + realfile); - this.p('\t' + this.cppCompiler + ' ' + cpp + ' ' + optimization + ' $(INC) $(DEF) -MD -c ' + realfile + ' -o ' + path.basename(file.file) + '.gch'); + this.p('\t' + this.cppCompiler + ' ' + optimization + ' $(INC) $(DEF) -MD -c ' + realfile + ' -o ' + path.basename(file.file) + '.gch'); } } for (let fileobject of project.getFiles()) { @@ -167,11 +172,9 @@ class MakeExporter extends Exporter_1.Exporter { compiler = this.cCompiler; flags = ''; } - this.p('\t' + compiler + ' ' + cpp + ' ' + optimization + ' $(INC) $(DEF) -MD ' + flags + ' -c ' + realfile + ' -o ' + name + '.o'); + this.p('\t' + compiler + ' ' + optimization + ' $(INC) $(DEF) -MD ' + flags + ' -c ' + realfile + ' -o ' + name + '.o'); } } - // project.getDefines() - // project.getIncludeDirs() this.closeFile(); } } diff --git a/lib/kmake/Exporters/MakeExporter.js.map b/lib/kmake/Exporters/MakeExporter.js.map index f14d92b8d3..405b93cd89 100644 --- a/lib/kmake/Exporters/MakeExporter.js.map +++ b/lib/kmake/Exporters/MakeExporter.js.map @@ -1 +1 @@ -{"version":3,"file":"MakeExporter.js","sourceRoot":"","sources":["../../../kmake/src/Exporters/MakeExporter.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAKpD,oCAAoC;AACpC,6BAA6B;AAE7B,MAAa,YAAa,SAAQ,mBAAQ;IAQzC,YAAY,OAAY,EAAE,SAAiB,EAAE,WAAmB,EAAE,MAAc,EAAE,QAAgB,EAAE,WAAmB,EAAE,eAAuB;QAC/I,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAgB,EAAE,IAAY,EAAE,EAAU,EAAE,QAAgB,EAAE,KAAU,EAAE,OAAY;QAC1G,IAAI,OAAO,GAAQ,EAAE,CAAC;QACtB,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAE7B,KAAK,IAAI,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;YAC1C,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACvH,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1E,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;iBACpB;qBACI;oBACJ,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE;wBACrB,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;qBAClB;oBACD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;iBACpB;aACD;SACD;QAED,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,kBAAkB,GAAa,EAAE,CAAC;QACtC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACzF,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;aAC1C;SACD;QACD,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,iBAAiB,GAAW,IAAI,CAAC;YACrC,KAAK,IAAI,MAAM,IAAI,kBAAkB,EAAE;gBACtC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBAC/B,iBAAiB,GAAG,MAAM,CAAC;oBAC3B,MAAM;iBACN;aACD;YACD,IAAI,iBAAiB,KAAK,IAAI,EAAE;gBAC/B,2EAA2E;gBAC3E,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;aAClD;SACD;QAED,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,IAAI,OAAO,EAAE;YACtB,SAAS,IAAI,CAAC,GAAG,KAAK,CAAC;SACvB;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAErD,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,gEAAgE;QACvF,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE;YACzC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YACzD,OAAO,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;SAC5B;QACD,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;QAEzB,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;QAChC,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;YAClC,QAAQ,IAAI,KAAK,GAAG,GAAG,CAAC;SACxB;QACD,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QAE1B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE;YACvC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACzE,SAAS;aACT;YAED,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE;gBAC1E,SAAS;aACT;YAED,OAAO,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;SACxD;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACnB,OAAO,IAAI,WAAW,CAAC;SACvB;QACD,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,EAAE,CAAC;QAET,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACxB,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;SACrC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE;YACnB,KAAK,IAAI,QAAQ,CAAC;SAClB;QACD,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE;YAChC,KAAK,IAAI,IAAI,GAAG,GAAG,CAAC;SACpB;QACD,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QAE1B,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;YAC1B,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;SACzC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE;YACnB,OAAO,IAAI,QAAQ,CAAC;SACpB;QACD,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE;YAClC,OAAO,IAAI,IAAI,GAAG,GAAG,CAAC;SACtB;QACD,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC;QAE9B,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACnB,YAAY,GAAG,KAAK,CAAC;SACrB;;YACI,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,iBAAiB,EAAE,EAAE;YAChC,cAAc,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;SAC7C;QAED,IAAI,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,WAAW,GAAG,SAAS,CAAC,CAAC;QAE/E,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,IAAI,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAClE,IAAI,OAAO,CAAC,MAAM,EAAE;YACnB,MAAM,GAAG,cAAc,GAAG,cAAc,GAAG,MAAM,CAAC;SAClD;QAED,IAAI,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC;SACpD;aACI;YACJ,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;SAC9G;QAED,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,iBAAiB,GAAW,IAAI,CAAC;YACrC,KAAK,IAAI,MAAM,IAAI,kBAAkB,EAAE;gBACtC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBAC/B,iBAAiB,GAAG,MAAM,CAAC;oBAC3B,MAAM;iBACN;aACD;YACD,IAAI,iBAAiB,KAAK,IAAI,EAAE;gBAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;gBACtD,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,wBAAwB,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;aACpJ;SACD;QAED,KAAK,IAAI,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;YAC1C,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACvH,IAAI,CAAC,CAAC,EAAE,CAAC;gBACT,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBAEnE,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;gBAElC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;gBAEjC,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;gBAChC,IAAI,KAAK,GAAG,aAAa,CAAC;gBAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACxB,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC1B,KAAK,GAAG,WAAW,CAAC;iBACpB;qBACI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACpD,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC1B,KAAK,GAAG,EAAE,CAAC;iBACX;gBAED,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,YAAY,GAAG,qBAAqB,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;aACpI;SACD;QAED,uBAAuB;QACvB,2BAA2B;QAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;CACD;AAzMD,oCAyMC"} \ No newline at end of file +{"version":3,"file":"MakeExporter.js","sourceRoot":"","sources":["../../../kmake/src/Exporters/MakeExporter.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/kmake/main.js b/lib/kmake/main.js index 6be12918d5..8538d83387 100644 --- a/lib/kmake/main.js +++ b/lib/kmake/main.js @@ -562,7 +562,7 @@ async function exportKoremakeProject(from, to, platform, korefile, retro, veryre else if (platform === Platform_1.Platform.Android) exporter = new AndroidExporter_1.AndroidExporter(options); else if (platform === Platform_1.Platform.Emscripten) - exporter = new EmscriptenExporter_1.EmscriptenExporter(options); + exporter = new EmscriptenExporter_1.EmscriptenExporter(project, options); else if (platform === Platform_1.Platform.Wasm) exporter = new WasmExporter_1.WasmExporter(options); else if (platform === Platform_1.Platform.Linux || platform === Platform_1.Platform.Pi) diff --git a/lib/kmake/main.js.map b/lib/kmake/main.js.map index a377d94417..d5f24aee5f 100644 --- a/lib/kmake/main.js.map +++ b/lib/kmake/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["../../kmake/src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["../../kmake/src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file