| # Copyright 2017 The Fuchsia Authors |
| # |
| # Use of this source code is governed by a MIT-style |
| # license that can be found in the LICENSE file or at |
| # https://opensource.org/licenses/MIT |
| |
| # check for disallowed options |
| ifneq ($(MODULE_DEPS)$(MODULE_LIBS)$(MODULE_STATIC_LIBS)$(MODULE_FIDL_LIBS),) |
| $(error $(MODULE) $(MODULE_TYPE) modules must not use MODULE_{DEPS,LIBS,STATIC_LIBS,FIDL_LIBS}) |
| endif |
| |
| # default install location |
| ifeq ($(MODULE_HOSTAPP_BIN),) |
| MODULE_HOSTAPP_BIN := $(BUILDDIR)/tools/$(MODULE_NAME) |
| endif |
| |
| MODULE_ALIBS := $(foreach lib,$(MODULE_HOST_LIBS), \ |
| $(call TOBUILDDIR,tools/lib/lib$(notdir $(lib)).a)) |
| |
| $(MODULE_HOSTAPP_BIN): _OBJS := $(MODULE_OBJS) |
| $(MODULE_HOSTAPP_BIN): _LIBS := $(MODULE_ALIBS) $(MODULE_HOST_SYSLIBS) |
| $(MODULE_HOSTAPP_BIN): _LDFLAGS := $(foreach opt,$(MODULE_LDFLAGS),-Wl,$(opt)) |
| $(MODULE_HOSTAPP_BIN): $(MODULE_OBJS) $(MODULE_ALIBS) |
| @$(MKDIR) |
| $(call BUILDECHO,linking hostapp $@) |
| $(NOECHO)$(HOST_CXX) -o $@ $(HOST_COMPILEFLAGS) $(_LDFLAGS) $(HOST_LDFLAGS) \ |
| $(_OBJS) $(_LIBS) |
| |
| ifeq ($(filter bin,$(MODULE_PACKAGE)),bin) |
| MODULE_PKG_FILE := $(MODULE_BUILDDIR)/$(MODULE_NAME).pkg |
| MODULE_EXP_FILE := $(BUILDDIR)/export/$(MODULE_NAME).pkg |
| |
| MODULE_PKG_BIN := $(MODULE_NAME)=$(patsubst $(BUILDDIR)/%,BUILD/%,$(MODULE_HOSTAPP_BIN)) |
| |
| $(MODULE_PKG_FILE): _NAME := $(MODULE_NAME) |
| $(MODULE_PKG_FILE): _BIN := $(MODULE_PKG_BIN) |
| $(MODULE_PKG_FILE): $(MODULE_RULESMK) make/module-hostapp.mk |
| @$(call BUILDECHO,creating package $@ ;)\ |
| $(MKDIR) ;\ |
| echo "[package]" > $@ ;\ |
| echo "name=$(_NAME)" >> $@ ;\ |
| echo "type=tool" >> $@ ;\ |
| echo "arch=host" >> $@ ;\ |
| echo "[bin]" >> $@ ;\ |
| echo "$(_BIN)" >> $@ |
| |
| $(MODULE_EXP_FILE): $(MODULE_PKG_FILE) |
| @$(MKDIR) ;\ |
| if [ -f "$@" ]; then \ |
| if ! cmp "$<" "$@" >/dev/null 2>&1; then \ |
| $(if $(BUILDECHO),echo installing $@ ;)\ |
| cp -f $< $@; \ |
| fi \ |
| else \ |
| $(if $(BUILDECHO),echo installing $@ ;)\ |
| cp -f $< $@; \ |
| fi |
| |
| GENERATED += $(MODULE_EXP_FILE) $(MODULE_PKG_FILE) |
| ALLPKGS += $(MODULE_EXP_FILE) |
| |
| endif |
| |
| |
| ALLHOST_APPS += $(MODULE_HOSTAPP_BIN) |
| |
| GENERATED += $(MODULE_HOSTAPP_BIN) |
| |
| MODULE_HOSTAPP_BIN := |