/[ascend]/trunk/base/generic/Makefile.Rules.in
ViewVC logotype

Contents of /trunk/base/generic/Makefile.Rules.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 22 - (show annotations) (download)
Thu Dec 9 16:04:34 2004 UTC (15 years ago) by aw0a
File size: 4926 byte(s)
adding missing files
1 # A Global Rules file for building ASCEND
2 # by Mark Thomas
3 # July 1997
4 #
5 # $Revision: 1.8 $
6 # $Date: 1998/04/28 12:49:56 $
7 # $Author: mthomas $
8 # $Source: /afs/cs.cmu.edu/project/ascend/Repository/ascend4/Makefile.Rules.in,v $
9 #
10 #
11 # This file is combines the make rules required to build ASCEND into a
12 # common location to make it easier to propagate changes. This file
13 # expects/accepts the following variables:
14 # EXECUTABLE: The name of an executable to build
15 # PURIFIED_EXEC: The name of a Purified(tm) executable to build
16 # QUANTIFIED_EXEC: The name of a Quantified(tm) executable to build
17 #
18 # EXEC_OBJS: The objects files required to build $(EXECUTABLE)
19 # EXEC_SRCS: The source files that are used to build $(EXEC_OBJS)
20 # EXEC_LIBS: The libraries that $(EXEC_OBJS) must be linked
21 # against in order to build $(EXECUTABLE)
22 #
23 #
24 # LIBRARY: The name of a library to build
25 #
26 # LIB_OBJS: The object files required to build $(LIBRARY)
27 # LIB_SRCS: The source files hat are used to build $(LIB_OBJS)
28 #
29 #
30 # DIR_SPECIFIC_DEFS: Defines (-D flags) that should be used when
31 # compiling source files in the current directory
32 # DIR_SPECIFIC_INCS: Includes (-I flags) that should be used when
33 # compiling source files in the current directory
34 #
35
36
37 SHELL = /bin/sh
38 @SET_MAKE@
39 ARCHIVE = $(builddir)/archive
40
41
42
43 .SUFFIXES:
44 .SUFFIXES: .c .f .i .o .flo .rflo .ps
45
46 # build object from C
47 .c.o:
48 $(CC) $(CC_SWITCHES) -c $< -o $@
49 # build C preprocessed file from C to track down errors
50 .c.i:
51 $(CPP) $(CC_SWITCHES) $< > $@
52 # build object from FORTRAN
53 .f.o:
54 $(F77) $(F77_SWITCHES) -c $< -o $@
55
56 # make nested C function reference listings, of dubious value.
57 .c.flo:
58 $(CFLOW) $(CFLFLAGS) $< $(CPRCOM) > $@
59 # makes reverse indexed C function listings
60 .c.rflo:
61 $(CFLOW) $(RCFLFLAGS) $< $(CPRCOM) > $@
62 # make a ps file graph of the internal references of a C file.
63 .c.ps:
64 $(CFLOW) $(RCFLFLAGS) $< $(CPSCOM) > $@
65 $(MV) $@ TMP.$@
66 $(DOT) $(DOTFLAGS) -o $@ TMP.$@
67 $(RM) TMP.$@
68
69
70 $(EXECUTABLE) _dummy1:: Makefile $(EXEC_OBJS)
71 $(RM) $@
72 $(CC) -o $@ $(LD_FLAGS) $(EXEC_OBJS) $(EXEC_LIBS)
73
74 $(PURIFIED_EXEC) _dummy2:: Makefile $(EXEC_OBJS)
75 $(RM) $@
76 $(PURIFY) $(PURIFY_OPTS) $(CC) -o $@ $(LD_FLAGS) \
77 $(EXEC_OBJS) $(EXEC_LIBS)
78
79 $(QUANTIFIED_EXEC) _dummy3:: Makefile $(EXEC_OBJS)
80 $(RM) $@
81 $(QUANTIFY) $(QUANTIFY_OPTS) $(CC) -o $@ $(LD_FLAGS) \
82 $(EXEC_OBJS) $(EXEC_LIBS)
83
84 $(LIBRARY) _dummy4:: $(ARCHIVE)/$(LIBRARY)
85
86 $(ARCHIVE)/$(LIBRARY) _dummy5:: Makefile $(LIB_OBJS)
87 $(RM) $@
88 $(AR) cr $@ $(LIB_OBJS)
89 $(RANLIB) $@
90
91 # Warn when the Makefile is older than Makefile.in
92 Makefile: $(srcdir)/Makefile.in
93 @echo ""
94 @echo "$(srcdir)/Makefile.in is newer than Makefile"
95 @echo "Consider running 'configure' again or running 'make makes'"
96 @echo ""
97
98
99
100 # Targets to install ASCEND. Need to be reworked.
101
102 install: install-binaries install-scripts install-libraries install-man
103
104 install-make-dirs:
105 @for i in $(INSTALL_MAKE_DIRS) /dev/null ; do \
106 if test $$i != /dev/null -a ! -d $$i ; then \
107 echo Making directory $$i ; \
108 mkdir -p $$i ; \
109 fi ; \
110 done
111
112 install-binaries::
113
114 install-scripts::
115
116 install-libraries::
117
118 install-man::
119
120
121
122 # A target to make a backup copy of you Makefile. Useful to do before
123 # you rerun configure so you don't lose all the hacks you added.
124
125 save-makes::
126 -$(CP) Makefile Makefile.SAVED
127
128
129
130 # Targets to remove generated files. `distclean' removes nearly
131 # everything generated since you last ran `configure'
132
133 clean::
134 -$(RM) $(ARCHIVE)/$(LIBRARY) $(EXECUTABLE) *.o *.i core a.out \
135 $(PURIFIED_EXEC) $(QUANTIFIED_EXEC) y.output y.tab.c y.tab.h
136
137 distclean:: clean
138 -$(RM) Makefile Makefile.SAVED TAGS tags *~ \#* *.bak
139
140
141
142 # Targets to generate emacs style (TAGS) and vi style (tags) tables
143 # for quick lookup of function definitions and Tcl procedures
144
145 TAGS::
146 $(RM) $@
147 -$(ETAGS) --include=../compiler/TAGS --include=../solver/TAGS \
148 --include=../interface/TAGS --include=../packages/TAGS \
149 --include=../utilities/TAGS --include=../general/TAGS \
150 --language=c *.c *.h *.l *.y
151
152 tags::
153 $(RM) $@
154 -$(CTAGS) --defines --typedefs-and-c++ --language=c *.h *.c *.l *.y
155
156
157
158 # Targets to generate or remove dependency information. `nodepend'
159 # removes dependency information, `depend' generates dependency
160 # information, and `depend-nosys' generates dependency information but
161 # leaves out dependencies on system header files.
162
163 nodepend: $(LIB_SRCS) $(EXEC_SRCS)
164 $(DEPEND_RM) $(DEPEND_FLAGS) $(DEPEND_INCLUDES) $?
165
166 depend-nosys depend-no-sys: $(LIB_SRCS) $(EXEC_SRCS)
167 $(DEPEND_NOSYS) $(DEPEND_FLAGS) $(DEPEND_INCLUDES) $?
168
169 depend: $(LIB_SRCS) $(EXEC_SRCS)
170 $(DEPEND) $(DEPEND_FLAGS) $(DEPEND_INCLUDES) $?
171
172
173 # Force emacs to treat this file as a Makefile
174 #
175 # Local Variables: ***
176 # mode:Makefile ***
177 # End: ***

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22