1 martin 1.20 #//%LICENSE////////////////////////////////////////////////////////////////
|
2 martin 1.21 #//
|
3 martin 1.20 #// Licensed to The Open Group (TOG) under one or more contributor license
4 #// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
5 #// this work for additional information regarding copyright ownership.
6 #// Each contributor licenses this file to you under the OpenPegasus Open
7 #// Source License; you may not use this file except in compliance with the
8 #// License.
|
9 martin 1.21 #//
|
10 martin 1.20 #// Permission is hereby granted, free of charge, to any person obtaining a
11 #// copy of this software and associated documentation files (the "Software"),
12 #// to deal in the Software without restriction, including without limitation
13 #// the rights to use, copy, modify, merge, publish, distribute, sublicense,
14 #// and/or sell copies of the Software, and to permit persons to whom the
15 #// Software is furnished to do so, subject to the following conditions:
|
16 martin 1.21 #//
|
17 martin 1.20 #// The above copyright notice and this permission notice shall be included
18 #// in all copies or substantial portions of the Software.
|
19 martin 1.21 #//
|
20 martin 1.20 #// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
21 martin 1.21 #// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
22 martin 1.20 #// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23 #// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24 #// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25 #// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26 #// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
27 martin 1.21 #//
|
28 martin 1.20 #//////////////////////////////////////////////////////////////////////////
|
29 mike 1.1 DEPEND_MAK = $(OBJ_DIR)/depend.mak
30
|
31 nagaraj.gr 1.24 ifeq ($(ARCHITECTURE),PARISC)
|
32 dmitry.mikulin 1.17 SOURCES_NO_ASM = $(patsubst %.s,,$(SOURCES))
33 else
34 SOURCES_NO_ASM = $(SOURCES)
35 endif
36
|
37 karl 1.26 ##
38 ## test for compiler definition in CXX (g++, clang++, etc. compilers).
39 ## Test for compiler type as substring, not exact because there
40 ## are cases where other info exists in CXX (ex. CXX=ccache g++)
41 ##
42 ifeq ($(findstring g++, $(CXX)), g++)
|
43 denise.eckstein 1.16 PEGASUS_CXX_MAKEDEPEND_OPTION = -M
44 endif
|
45 karl 1.26
|
46 dev.meetei 1.23 ifeq ($(CXX), clang++)
47 PEGASUS_CXX_MAKEDEPEND_OPTION = -M
48 C_SOURCES = $(filter %.c, $(SOURCES))
49 endif
50
|
51 denise.eckstein 1.16 ifeq ($(CXX), CC)
52 PEGASUS_CXX_MAKEDEPEND_OPTION = -xM1
53 endif
|
54 dmitry.mikulin 1.17 ifeq ($(CXX), aCC)
|
55 dmitry.mikulin 1.19 PEGASUS_CXX_MAKEDEPEND_OPTION = +Make -E
|
56 dmitry.mikulin 1.18 acc_sed_filter = -e 's=$(OBJ_DIR).*cpp:==g'
|
57 dmitry.mikulin 1.17 endif
|
58 denise.eckstein 1.16
|
59 karl 1.26 ##
60 ## If compiler definition found, use compiler to define depend.mak
61 ## each obj dir
62 ##
|
63 kumpf 1.22 ifdef PEGASUS_CXX_MAKEDEPEND_OPTION
|
64 dev.meetei 1.23
65 ifeq ($(COMPILER), clang)
66 ifneq ($(strip $(C_SOURCES)),)
67 depend: $(OBJ_DIR)/target $(ERROR)
68 $(CC) $(PEGASUS_CXX_MAKEDEPEND_OPTION) $(LOCAL_DEFINES) $(DEFINES) $(SYS_INCLUDES) $(INCLUDES) $(SOURCES_NO_ASM) | sed -e 's=^\(.*:\)='$(OBJ_DIR)'/\1=' > $(DEPEND_MAK)
69 else
|
70 keith.petley 1.11 depend: $(OBJ_DIR)/target $(ERROR)
|
71 dev.meetei 1.23 $(CXX) $(PEGASUS_CXX_MAKEDEPEND_OPTION) $(LOCAL_DEFINES) $(DEFINES) $(SYS_INCLUDES) $(INCLUDES) $(SOURCES_NO_ASM) | sed -e 's=^\(.*:\)='$(OBJ_DIR)'/\1=' > $(DEPEND_MAK)
72 endif
73 else
74 depend: $(OBJ_DIR)/target $(ERROR)
|
75 karl 1.25 $(CXX) $(PEGASUS_CXX_MAKEDEPEND_OPTION) $(LOCAL_DEFINES) $(DEFINES) $(SYS_INCLUDES) $(INCLUDES) $(SOURCES_NO_ASM) | sed -e 's=^\(.*:\)='$(OBJ_DIR)'/\1=' $(acc_sed_filter) > $(DEPEND_MAK)
|
76 dev.meetei 1.23 endif
|
77 karl 1.26
78 ##
79 ## Compiler type not found. If PEGASUS_HAS_MAKEDEPEND set use makedepend
80 ## to define depend.mak files. Otherwise use OpenPegasus mu to create
81 ## depend.make files
82 ##
|
83 keith.petley 1.11 else
|
84 mike 1.9 ifdef PEGASUS_HAS_MAKEDEPEND
|
85 david.dillard 1.13 DEPEND_INCLUDES += -DPEGASUS_OS_TYPE_UNIX -I/usr/include $(SYS_INCLUDES)
|
86 mike 1.9
87 depend: $(OBJ_DIR)/target $(ERROR)
88 touch $(DEPEND_MAK)
|
89 dmitry.mikulin 1.17 makedepend -v $(LOCAL_DEFINES) $(DEFINES) $(DEPEND_DEFINES) $(PRE_DEPEND_INCLUDES) $(DEPEND_INCLUDES) $(INCLUDES) $(SOURCES_NO_ASM) -f $(DEPEND_MAK) -p $(OBJ_DIR)/
|
90 mike 1.9 else
|
91 mike 1.5 depend: $(OBJ_DIR)/target $(ERROR)
|
92 dmitry.mikulin 1.17 mu depend -O$(OBJ_DIR) $(INCLUDES) $(SOURCES_NO_ASM) > $(DEPEND_MAK)
|
93 keith.petley 1.11 endif
|
94 mike 1.9 endif
|
95 mike 1.2 clean-depend:
96 $(RM) $(OBJ_DIR)/depend.mak
|