X-Git-Url: http://nitlanguage.org diff --git a/src/pnacl_platform.nit b/src/pnacl_platform.nit index adac73e..62c2f60 100644 --- a/src/pnacl_platform.nit +++ b/src/pnacl_platform.nit @@ -61,6 +61,9 @@ class PnaclToolchain var outname = toolcontext.opt_output.value if outname == null then outname = "{compiler.mainmodule.name}" + var ofiles = new Array[String] + for cfile in cfiles do ofiles.add(cfile.substring(0, cfile.length-2) + ".o") + ## Generate makefile var file = "{dir}/Makefile" """ @@ -74,9 +77,12 @@ THIS_MAKEFILE := $(abspath $(lastword $(MAKEFILE_LIST))) NACL_SDK_ROOT ?= $(abspath $(dir $(THIS_MAKEFILE))../../../..) # Project Build flags -WARNINGS := -Wall -pedantic -Werror -Wno-long-long -Wno-unused-value -Wno-unused-label -Wno-duplicate-decl-specifier -Wno-switch -Wno-embedded-directive +WARNINGS := -Wall -pedantic -Wno-long-long -Wno-unused-value -Wno-unused-label -Wno-duplicate-decl-specifier -Wno-switch -Wno-embedded-directive CXXFLAGS := -pthread $(WARNINGS) +CXXFLAGS += -g -O0 # Debug +# CXXFLAGS += -O3 # Release + # # Compute tool paths # @@ -87,8 +93,8 @@ OSNAME := $(shell $(GETOS)) PNACL_TC_PATH := $(abspath $(NACL_SDK_ROOT)/toolchain/$(OSNAME)_pnacl) PNACL_CXX := $(PNACL_TC_PATH)/bin/pnacl-clang PNACL_FINALIZE := $(PNACL_TC_PATH)/bin/pnacl-finalize -CXXFLAGS += -I$(NACL_SDK_ROOT)/include -LDFLAGS := -L$(NACL_SDK_ROOT)/lib/pnacl/Release -lppapi_cpp -lppapi +CXXFLAGS += -I$(NACL_SDK_ROOT)/include -I$(NACL_SDK_ROOT)/include/pnacl +LDFLAGS := -L$(NACL_SDK_ROOT)/lib/pnacl/Release -lppapi_cpp -lppapi -lm # # Disable DOS PATH warning when using Cygwin based tools Windows @@ -99,9 +105,11 @@ export CYGWIN # Declare the ALL target first, to make the 'all' target the default build all: ../{{{outname}}}/{{{app_name}}}.pexe -{{{app_name}}}.pexe: src/{{{cfiles.join(" src/")}}} - $(PNACL_CXX) -o $@ $^ -g -O0 $(CXXFLAGS) $(LDFLAGS) # For Debug - # $(PNACL_CXX) -o $@ $^ -O3 $(CXXFLAGS) $(LDFLAGS) # For Release +.c.o: + $(PNACL_CXX) -c $< -g -O0 $(CXXFLAGS) + +{{{app_name}}}.pexe: {{{ofiles.join(" ")}}} + $(PNACL_CXX) -o $@ $^ $(LDFLAGS) ../{{{outname}}}/{{{app_name}}}.pexe: {{{app_name}}}.pexe $(PNACL_FINALIZE) -o $@ $< @@ -236,6 +244,6 @@ function updateStatus(opt_message) { redef fun compile_c_code(compiler, compile_dir) do # Generate the pexe - toolcontext.exec_and_check(["make", "-C", compile_dir], "PNaCl project error") + toolcontext.exec_and_check(["make", "-C", compile_dir, "-j", "4"], "PNaCl project error") end end