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