forked from AaronDMarasco-VSI/opencpi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.ocpi.for-idl
97 lines (84 loc) · 2.92 KB
/
Makefile.ocpi.for-idl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# This file is protected by Copyright. Please refer to the COPYRIGHT file
# distributed with this source distribution.
#
# This file is part of OpenCPI <http://www.opencpi.org>
#
# OpenCPI is free software: you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# OpenCPI is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
# details.
#
# You should have received a copy of the GNU Lesser General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
all: objects
include ../../../../../MakeVars.ocpi
ifneq ($(OCPI_OUT_DIR),)
OBJDIR = ../../$(OCPI_OUT_DIR)
else
OBJDIR = .
endif
include ../../../../../Makefile.ocpi.common
ifndef IMPORTS_INCLUDED
ifneq ($(wildcard ../../Makefile.ocpi.imports),)
include ../../Makefile.ocpi.imports
IMPORTS_INCLUDED:=1
endif
endif
ALLINC += $(wildcard ../../*/idl) $(EXTRA_INCLUDES)
ALLIDLINC += $(wildcard ../../*/idl)
IDLFILES = $(wildcard *.idl)
IDLCSOURCES = $(patsubst %.idl,%_c.cxx,$(IDLFILES))
IDLSSOURCES = $(patsubst %.idl,%_s.cxx,$(IDLFILES))
IDLCHEADERS = $(patsubst %.idl,%.h,$(IDLFILES))
IDLSHEADERS = $(patsubst %.idl,%_s.h,$(IDLFILES))
IDLCOBJECTS = $(patsubst %.idl,$(OBJDIR)/%_c.obj,$(IDLFILES))
IDLSOBJECTS = $(patsubst %.idl,$(OBJDIR)/%_s.obj,$(IDLFILES))
IDLDEPENDS = $(patsubst %.idl,%.d,$(IDLFILES))
IDLSOURCES = $(IDLCSOURCES)
IDLHEADERS = $(IDLCHEADERS)
IDLOBJECTS = $(IDLCOBJECTS)
ifneq ($(CLIENT_IDL_ONLY),1)
IDLSOURCES += $(IDLSSOURCES)
IDLHEADERS += $(IDLSHEADERS)
IDLOBJECTS += $(IDLSOBJECTS)
endif
.PHONY: objdir objects depends generated clean distclean cleanup distcleanup
objdir:
$(AT)if test "x$(OCPI_OUT_DIR)" != "x" -a ! -d $(OBJDIR); then \
echo Creating object directory $(OBJDIR). ; \
mkdir -p $(OBJDIR) ;\
fi
depends: $(IDLHEADERS) $(IDLDEPENDS)
generated: depends $(IDLSOURCES)
objects: generated objdir $(IDLOBJECTS)
clean: cleanup
rm -f $(IDLOBJECTS)
distclean: distcleanup
rm -f $(IDLOBJECTS)
rm -f $(IDLCSOURCES) $(IDLSSOURCES) $(IDLCHEADERS) $(IDLSHEADERS) *S_T.h *S_T.cpp *.inl *.d
#
# Make the objects depend on all IDL-generated files. The explicit
# dependency is on $(IDLSOURCES) rather than $(IDLHEADERS) because
# MakeVars.ocpi provides a rule for .idl.cxx, but not for the header
# files.
#
$(IDLCOBJECTS): $(OBJDIR)/%_c.obj: %_c.cxx %.h $(IDLSOURCES)
$(IDLSOBJECTS): $(OBJDIR)/%_s.obj: %_s.cxx %.h $(IDLSOURCES)
$(IDLCSOURCES): %_c.cxx: %.idl
$(IDLSSOURCES): %_s.cxx: %.idl
$(IDLCHEADERS): %.h: %.idl
$(IDLSHEADERS): %_s.h: %.idl
$(IDLDEPENDS): %.d: %.idl
#
# Include generated dependency files
#
ifneq ($(findstring clean,$(MAKECMDGOALS)),clean)
ifneq ($(wildcard *.d),)
include *.d
endif
endif