1# Copyright (c) 2013 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5# GNU Makefile based on shared rules provided by the Native Client SDK.
6# See README.Makefiles for more details.
7
8VALID_TOOLCHAINS := newlib glibc pnacl
9
10NACL_SDK_ROOT ?= $(abspath $(CURDIR)/../../..)
11include $(NACL_SDK_ROOT)/tools/common.mk
12
13TARGET = life
14LIBS = $(DEPS) ppapi_simple nacl_io sdk_util ppapi_cpp ppapi pthread
15
16CFLAGS = -Wall -I..
17SOURCES = life.c
18
19# Build rules generated by macros from common.mk:
20
21$(foreach src,$(SOURCES),$(eval $(call COMPILE_RULE,$(src),$(CFLAGS))))
22
23# The PNaCl workflow uses both an unstripped and finalized/stripped binary.
24# On NaCl, only produce a stripped binary for Release configs (not Debug).
25ifneq (,$(or $(findstring pnacl,$(TOOLCHAIN)),$(findstring Release,$(CONFIG))))
26$(eval $(call LINK_RULE,$(TARGET)_unstripped,$(SOURCES),$(LIBS),$(DEPS)))
27$(eval $(call STRIP_RULE,$(TARGET),$(TARGET)_unstripped))
28else
29$(eval $(call LINK_RULE,$(TARGET),$(SOURCES),$(LIBS),$(DEPS)))
30endif
31
32$(eval $(call NMF_RULE,$(TARGET),))
33