blob: a19a82ceae43201ac7412fa9aa183034e386726d [file] [log] [blame]
# Copyright (c) 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# GNU Makefile based on shared rules provided by the Native Client SDK.
# See README.Makefiles for more details.
VALID_TOOLCHAINS := pnacl
NACL_SDK_ROOT ?= $(abspath $(CURDIR)/../../..)
include $(NACL_SDK_ROOT)/tools/common.mk
TARGET = NaClAMBullet
LIBS = BulletDynamics BulletCollision LinearMath ppapi pthread
USR_INCLUDE=$(NACL_SDK_ROOT)/toolchain/$(OSNAME)_pnacl/le32-nacl/local/include
BULLET_INCLUDE=$(USR_INCLUDE)/bullet
CFLAGS = -I$(CURDIR) -I$(BULLET_INCLUDE)
CFLAGS += -Wall -Wno-overloaded-virtual -Wno-unused-variable
SOURCES = \
NaClAMBase/NaClAMBase.cpp \
NaClAMBase/NaClAMMessageCollector.cpp \
NaClAMBase/jsoncpp.cpp \
NaClAMBullet/NaClAMBullet.cpp
# Build rules generated by macros from common.mk:
$(foreach src,$(SOURCES),$(eval $(call COMPILE_RULE,$(src),$(CFLAGS))))
# The PNaCl workflow uses both an unstripped and finalized/stripped binary.
# On NaCl, only produce a stripped binary for Release configs (not Debug).
ifneq (,$(or $(findstring pnacl,$(TOOLCHAIN)),$(findstring Release,$(CONFIG))))
$(eval $(call LINK_RULE,$(TARGET)_unstripped,$(SOURCES),$(LIBS),$(DEPS)))
$(eval $(call STRIP_RULE,$(TARGET),$(TARGET)_unstripped))
else
$(eval $(call LINK_RULE,$(TARGET),$(SOURCES),$(LIBS),$(DEPS)))
endif
$(eval $(call NMF_RULE,$(TARGET),))