1# Copyright 2017 The Fuchsia Authors 2# Copyright (c) 2008-2015 Travis Geiselbrecht 3# 4# Use of this source code is governed by a MIT-style 5# license that can be found in the LICENSE file or at 6# https://opensource.org/licenses/MIT 7 8# create a separate list of objects per source type 9MODULE_CSRCS := $(filter %.c,$(MODULE_SRCS)) 10MODULE_CPPSRCS := $(filter %.cpp,$(MODULE_SRCS)) 11 12MODULE_COBJS := $(call TOMODULEDIR,$(patsubst %.c,%.c.o,$(MODULE_CSRCS))) 13MODULE_CPPOBJS := $(call TOMODULEDIR,$(patsubst %.cpp,%.cpp.o,$(MODULE_CPPSRCS))) 14 15MODULE_OBJS := $(MODULE_COBJS) $(MODULE_CPPOBJS) 16 17#$(info MODULE_SRCS = $(MODULE_SRCS)) 18#$(info MODULE_CSRCS = $(MODULE_CSRCS)) 19#$(info MODULE_CPPSRCS = $(MODULE_CPPSRCS)) 20 21#$(info MODULE_OBJS = $(MODULE_OBJS)) 22#$(info MODULE_COBJS = $(MODULE_COBJS)) 23#$(info MODULE_CPPOBJS = $(MODULE_CPPOBJS)) 24 25$(MODULE_OBJS): MODULE_OPTFLAGS:=$(MODULE_OPTFLAGS) 26$(MODULE_OBJS): MODULE_COMPILEFLAGS:=$(MODULE_COMPILEFLAGS) 27$(MODULE_OBJS): MODULE_CFLAGS:=$(MODULE_CFLAGS) 28$(MODULE_OBJS): MODULE_CPPFLAGS:=$(MODULE_CPPFLAGS) 29$(MODULE_OBJS): MODULE_SRCDEPS:=$(MODULE_SRCDEPS) 30 31$(MODULE_COBJS): $(MODULE_BUILDDIR)/%.c.o: %.c $(MODULE_SRCDEPS) 32 @$(MKDIR) 33 $(call BUILDECHO, compiling host $<) 34 $(NOECHO)$(HOST_CC) $(MODULE_OPTFLAGS) $(HOST_COMPILEFLAGS) $(MODULE_COMPILEFLAGS) $(HOST_CFLAGS) $(MODULE_CFLAGS) $(HOST_INCLUDES) -c $< -MMD -MP -MT $@ -MF $(@:%o=%d) -o $@ 35 36$(MODULE_CPPOBJS): $(MODULE_BUILDDIR)/%.cpp.o: %.cpp $(MODULE_SRCDEPS) 37 @$(MKDIR) 38 $(call BUILDECHO, compiling host $<) 39 $(NOECHO)$(HOST_CXX) $(MODULE_OPTFLAGS) $(HOST_COMPILEFLAGS) $(MODULE_COMPILEFLAGS) $(HOST_CPPFLAGS) $(MODULE_CPPFLAGS) $(HOST_INCLUDES) -c $< -MMD -MP -MT $@ -MF $(@:%o=%d) -o $@ 40 41 42# clear some variables we set here 43MODULE_CSRCS := 44MODULE_CPPSRCS := 45MODULE_COBJS := 46MODULE_CPPOBJS := 47 48# MODULE_OBJS is passed back 49#MODULE_OBJS := 50 51