14311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch# Copyright (c) 2012 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# GNU Make based build file. For details on GNU Make see: 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# http://www.gnu.org/software/make/manual/make.html 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Paths to Tools 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochPNACL_BIN = $(TC_PATH)/$(OSNAME)_x86_$(TOOLCHAIN)/newlib/bin 14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochPNACL_CC ?= $(PNACL_BIN)/pnacl-clang -c 15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochPNACL_CXX ?= $(PNACL_BIN)/pnacl-clang++ -c 16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochPNACL_LINK ?= $(PNACL_BIN)/pnacl-clang++ 17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochPNACL_LIB ?= $(PNACL_BIN)/pnacl-ar 18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochPNACL_STRIP ?= $(PNACL_BIN)/pnacl-strip 19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochPNACL_FINALIZE ?= $(PNACL_BIN)/pnacl-finalize 204311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen MurdochPNACL_TRANSLATE ?= $(PNACL_BIN)/pnacl-translate 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Compile Macro 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $1 = Source Name 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $2 = Compile Flags 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $3 = Include Directories 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)define C_COMPILER_RULE 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)-include $(call SRC_TO_DEP,$(1),_pnacl) 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)$(call SRC_TO_OBJ,$(1),_pnacl): $(1) $(TOP_MAKE) | $(dir $(call SRC_TO_OBJ,$(1)))dir.stamp 32a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles) $(call LOG,CC ,$$@,$(PNACL_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CFLAGS)) 337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch @$(FIXDEPS) $(call SRC_TO_DEP_PRE_FIXUP,$(1),_pnacl) 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)endef 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)define CXX_COMPILER_RULE 37eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch-include $(call SRC_TO_DEP,$(1),_pnacl) 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)$(call SRC_TO_OBJ,$(1),_pnacl): $(1) $(TOP_MAKE) | $(dir $(call SRC_TO_OBJ,$(1)))dir.stamp 39a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles) $(call LOG,CXX ,$$@,$(PNACL_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CFLAGS)) 407dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch @$(FIXDEPS) $(call SRC_TO_DEP_PRE_FIXUP,$(1),_pnacl) 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)endef 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $1 = Source Name 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $2 = POSIX Compile Flags 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $3 = Include Directories 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $4 = VC Flags (unused) 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)define COMPILE_RULE 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)ifeq ($(suffix $(1)),.c) 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)$(call C_COMPILER_RULE,$(1),$(2) $(foreach inc,$(INC_PATHS),-I$(inc)) $(3)) 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)else 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)$(call CXX_COMPILER_RULE,$(1),$(2) $(foreach inc,$(INC_PATHS),-I$(inc)) $(3)) 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)endif 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)endef 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# SO Macro 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $1 = Target Name 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $2 = List of Sources 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)define SO_RULE 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)$(error 'Shared libraries not supported by PNaCl') 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)endef 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# LIB Macro 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $1 = Target Name 732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $2 = List of Sources 742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $3 = POSIX Link Flags 752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $4 = VC Link Flags (unused) 762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)define LIB_RULE 77c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)$(STAMPDIR)/$(1).stamp: $(LIBDIR)/$(TOOLCHAIN)/$(CONFIG)/lib$(1).a 782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) @echo "TOUCHED $$@" > $(STAMPDIR)/$(1).stamp 792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 80c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)all: $(LIBDIR)/$(TOOLCHAIN)/$(CONFIG)/lib$(1).a 81c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)$(LIBDIR)/$(TOOLCHAIN)/$(CONFIG)/lib$(1).a: $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),_pnacl)) 822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) $(MKDIR) -p $$(dir $$@) 8390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) $(call LOG,LIB,$$@,$(PNACL_LIB) -cr $$@ $$^ $(3)) 842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)endef 852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Specific Link Macro 892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $1 = Target Name 912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $2 = List of inputs 922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $3 = List of libs 932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $4 = List of deps 942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $5 = List of lib dirs 952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $6 = Other Linker Args 962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 974311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch# For debugging, we translate the pre-finalized .bc file. 984311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch# 992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)define LINKER_RULE 1004311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdochall: $(1).pexe 1014311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch$(1)_x86_32.nexe : $(1).bc 1024311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch $(call LOG,TRANSLATE,$$@,$(PNACL_TRANSLATE) --allow-llvm-bitcode-input -arch x86-32 $$^ -o $$@) 1034311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch 1044311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch$(1)_x86_64.nexe : $(1).bc 1054311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch $(call LOG,TRANSLATE,$$@,$(PNACL_TRANSLATE) --allow-llvm-bitcode-input -arch x86-64 $$^ -o $$@) 1064311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch 1074311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch$(1)_arm.nexe : $(1).bc 1084311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch $(call LOG,TRANSLATE,$$@,$(PNACL_TRANSLATE) --allow-llvm-bitcode-input -arch arm $$^ -o $$@) 1094311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch 1104311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch$(1).pexe: $(1).bc 1114311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch $(call LOG,FINALIZE,$$@,$(PNACL_FINALIZE) -o $$@ $$^) 1124311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch 1134311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch$(1).bc: $(2) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) 1144311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch $(call LOG,LINK,$$@,$(PNACL_LINK) -o $$@ $(2) $(foreach path,$(5),-L$(path)/pnacl/$(CONFIG)) $(foreach lib,$(3),-l$(lib)) $(6)) 1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)endef 1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 1192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Generalized Link Macro 1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $1 = Target Name 1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $2 = List of Sources 1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $3 = List of LIBS 1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $4 = List of DEPS 1252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $5 = POSIX Linker Switches 1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $6 = VC Linker Switches 1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 1284311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch# NOTE: For Debug builds we translate the .bc file to a .nexe instead of 1294311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch# using the finalizing to a .pexe. This enables debugging. 1304311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch# 1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)define LINK_RULE 1324311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdochifeq ($(CONFIG),Debug) 1334311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen MurdochEXECUTABLES=$(OUTDIR)/$(1)_x86_32.nexe $(OUTDIR)/$(1)_x86_64.nexe $(OUTDIR)/$(1)_arm.nexe 1344311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdochelse 1354311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen MurdochEXECUTABLES=$(OUTDIR)/$(1).pexe 1364311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdochendif 137eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch$(call LINKER_RULE,$(OUTDIR)/$(1),$(foreach src,$(2),$(call SRC_TO_OBJ,$(src),_pnacl)),$(filter-out pthread,$(3)),$(4),$(LIB_PATHS),$(5)) 1382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)endef 1392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 141c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# 142c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# Strip Macro 143c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# 144eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# NOTE: pnacl-strip does not currently support stripping finalized pexes (in a 145eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# sense, they are already stripped). So we just copy the file instead. 146eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# 147eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# See https://code.google.com/p/nativeclient/issues/detail?id=3534 148eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# 149c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# $1 = Target Name 150c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# $2 = Input Name 151c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# 152c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)define STRIP_RULE 153c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)all: $(OUTDIR)/$(1).pexe 154c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)$(OUTDIR)/$(1).pexe: $(OUTDIR)/$(2).pexe 155eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch $(CP) $$^ $$@ 156c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)endef 157c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 1582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# NMF Manifiest generation 1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Use the python script create_nmf to scan the binaries for dependencies using 1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# objdump. Pass in the (-L) paths to the default library toolchains so that we 1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# can find those libraries and have it automatically copy the files (-s) to 1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# the target directory for us. 1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $1 = Target Name (the basename of the nmf 1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# $2 = Additional create_nmf.py arguments 1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# 1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)NMF:=python $(NACL_SDK_ROOT)/tools/create_nmf.py 1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)define NMF_RULE 17390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)all: $(OUTDIR)/$(1).nmf 1744311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch$(OUTDIR)/$(1).nmf: $(EXECUTABLES) 1752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) $(call LOG,CREATE_NMF,$$@,$(NMF) -o $$@ $$^ -s $(OUTDIR) $(2)) 1762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)endef 1777d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 1787d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)# 1797d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)# HTML file generation 1807d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)# 1817d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)CREATE_HTML := python $(NACL_SDK_ROOT)/tools/create_html.py 1827d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 1837d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)define HTML_RULE 1847d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)all: $(OUTDIR)/$(1).html 1854311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch$(OUTDIR)/$(1).html: $(EXECUTABLES) 1867d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) $(call LOG,CREATE_HTML,$$@,$(CREATE_HTML) -o $$@ $$^) 1877d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)endef 1884311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch 1894311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch 1904311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch# 1914311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch# Determine which executable to pass into the debugger. For pnacl, this is 1924311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch# the .bc -> .nexe translated app. 1934311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch# 1944311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen MurdochGDB_DEBUG_TARGET = $(abspath $(OUTDIR))/$(TARGET)_$(SYSARCH).nexe 195