source: trunk/WRF.COMMON/WRFV3/external/io_grib_share/build/depend_rules.mk

Last change on this file was 2759, checked in by aslmd, 2 years ago

adding unmodified code from WRFV3.0.1.1, expurged from useless data +1M size

File size: 2.3 KB
Line 
1#------------------------------------------------------------------------------
2#  Make rules for determining the dependencies between source files.
3#
4#  This file is intended for use in a Makefile via the include directive, e.g.
5#
6#      include $(BUID_DIR)/depend_rules.mk
7#
8#  It may also be include by other rule files in this directory.
9#
10#  These rules rely upon proper setting of OBJS and SRC_EXTENSIONS.
11
12#  Copyright (C) 2001, WSI Corporation
13#------------------------------------------------------------------------------
14#
15#  For portability, use the Bourne shell within Makefiles.
16#  There have been problems using the C-shell under Linux.
17#
18SHELL=/bin/sh
19
20#
21#  RULES for creating the source code dependencies.
22#
23#  These are typically used to implement the rules depend and clean_depend
24#  in other make rule files.
25#
26#  'generic_depend' creates the dependencies and appends them to a separate
27#      file in the same directory as the source code, called .depend.   
28#      Depend uses some customized logic to determine the name of the source
29#      code file associated with each object file in OBJS.  This means that we
30#      can mix source code extensions in the same library (e.g. use C and C++
31#      source interchangeably).  See compile_rules.mk for supported file name
32#      extensions for C and C++ development.
33#
34#  'generic_clean_depend' removes the dependencies file .depend.
35#
36generic_clean_depend:
37        @rm -f .depend
38
39generic_depend: 
40        @srcs="" ;\
41        if [ -z "$(OBJS)" ]; then\
42                objs="foobar";\
43        else\
44                objs="$(OBJS)";\
45        fi;\
46        for o in $${objs}; do\
47                if [ $$o = "foobar" ]; then\
48                        echo "Error: no objects were specified in OBJS.";\
49                        continue;\
50                fi;\
51                b=`echo $$o | sed -e 's/\.o//'` ;\
52                f="" ;\
53                for e in $(SRC_EXTENSIONS) ; do \
54                        s="$$b$$e" ;\
55                        if [ -r "$$s" ]; then\
56                                srcs="$${srcs} $$s" ;\
57                                f=1 ;\
58                                break ;\
59                        fi; \
60                done ;\
61                if [ -z "$$f" ]; then\
62                        echo "Could not find source file for object file $$o";\
63                fi ;\
64        done ;\
65        make_opts="";\
66        if [ "$(SYS_CXX_INCLUDES)" ]; then\
67                make_opts="-I+ $(SYS_CXX_INCLUDES)";\
68        fi;\
69        if [ "$(SYS_C_INCLUDES)" ]; then\
70                make_opts="$${make_opts} -I+ $(SYS_C_INCLUDES)";\
71        fi;\
72        if [ "$(C_INCLUDES)" ]; then\
73                make_opts="$${make_opts} -I+ $(C_INCLUDES)";\
74        fi;\
75        if [ "$(CXX_INCLUDES)" ]; then\
76                make_opts="$${make_opts} -I+ $(CXX_INCLUDES)";\
77        fi;\
78        makedepend $${make_opts} -f- $${srcs} > .depend;
Note: See TracBrowser for help on using the repository browser.