Eliminate another warning.
[suif.git] / Makefile
blob584aa4d141ab3d5ebd96d91dde63cd41eab71c78
2 # Makefile to compile and install the SUIF compiler
5 # default variables -- these may be overridden
6 WORKDIR = src
7 LOGFILE = install.log
8 SHELL = /bin/sh
9 SUBDIRS = basesuif simplesuif suifbuilder baseparsuif fortback suifcookbook suifps suifcallgraph suifvectorizer convertsuif1.1.0to1.1.1 reduce suifvisitor cfg graph ipaf fortparse fort2suif fortfront para dave alias_interface speculate cparallel aa checkfort color decomp dlprintsuif gaopt inline mdopt popt preip promotescalar reaching suex suifvbrowser addsync padopt wilbyr wilbyr_lib verisuif
10 SUB_PACKAGES = basesuif
12 default: build
14 include $(SUIFHOME)/Makefile.rules
15 # read the standard definitions
16 include $(SUIFHOME)/Makefile.defs
18 MACHINCL = $(MACHDIR)/include
20 source: Makefile.local Makefile.std Makefile.sub Makefile.rules Makefile.defs \
21 README.suif FAQ
23 setup:
24 @echo
25 @echo " Setting up directory structures for SUIF."
26 @echo
27 @# create the include directory
28 @# create the machine-specific directories
29 @if test ! -d $(MACHDIR); then mkdir $(MACHDIR); else : ; fi
30 @if test ! -d $(INCLDIR); then mkdir $(INCLDIR); else : ; fi
31 @if test ! -d $(BINDIR); then mkdir $(BINDIR); else : ; fi
32 @if test ! -d $(LIBDIR); then mkdir $(LIBDIR); else : ; fi
33 @if test ! -d $(SODIR); then mkdir $(SODIR); else : ; fi
34 @if test ! -d $(MANDIR); then mkdir $(MANDIR); else : ; fi
35 @if test ! -d $(HTMLDIR); then mkdir $(HTMLDIR); else : ; fi
36 @if test ! -d $(DOCDIR); then mkdir $(DOCDIR); else : ; fi
37 @if test ! -d $(AUTOINITDIR); then mkdir $(AUTOINITDIR); else : ; fi
38 @if test ! -d $(VERDATADIR); then mkdir $(VERDATADIR); else : ; fi
39 @if test ! -d $(TCLDIR); then mkdir $(TCLDIR); else : ; fi
40 @if test ! -d $(SCRIPTDIR); then mkdir $(SCRIPTDIR); else : ; fi
41 @if test ! -d $(MACHINCL); then mkdir $(MACHINCL); else : ; fi
42 @# put the FORTRAN header file in the MACHINCL directory
43 @# note: other files (e.g. varargs.h) need to go there, too
44 @# rm -f $(MACHINCL)/sf2c.h
45 @# ( cd $(MACHINCL); ln -s ../../include/sf2c.h . )
47 @# There's a chicken-and-egg problem with the basesuif/scripts
48 @# package: it needs to be installed for packages to install. So
49 @# we short circuit it by manually installing the scripts here.
50 @if test -d src/basesuif/scripts; then \
51 (cd src/basesuif/scripts; \
52 for file in *; do \
53 rm -f $(BINDIR)/$${file}; \
54 cp $${file} $(BINDIR); \
55 done); \
56 else \
57 : ; \
59 @rm -f $(BINDIR)/Makefile
61 reinstall: show-reinstall
63 install: show-install
65 show-install show-reinstall-bin show-reinstall: source
66 @if test ! -d $(BINDIR); then \
67 echo 1>&2; \
68 echo " The directory structure needed for" \
69 "SUIF has not yet been set up." 1>&2; \
70 echo " You will have to run \`\`gmake setup''" \
71 "before attempting to install" 1>&2; \
72 echo " the system. Please see the README" \
73 "file for more critical" 1>&2; \
74 echo " information on setup and installation." 1>&2; \
75 echo 1>&2; \
76 exit 1; \
77 else \
78 true; \
80 @if test ""$(NIGHTLY) = "" ; then \
81 echo; \
82 echo " The full SUIF compiler system is now being" \
83 "installed. To make it"; \
84 echo " easier to tell whether there are installation" \
85 "problems and where"; \
86 echo " they occurred, each subpackage will be installed" \
87 "separately and"; \
88 echo " the full installation details will be recorded" \
89 "in the file"; \
90 echo " "$(LOGFILE)" in each subdirectory. As each" \
91 "installation is"; \
92 echo " completed, a single line will be printed here" \
93 "indicating the"; \
94 echo " success or failure of that particular" \
95 "installation."; \
96 echo; \
97 else \
98 true; \
100 @if test ""$(NIGHTLY_STATUS) = master ; then \
101 rm -f $(NIGHTLYREADYDIR)/* ; \
102 else \
103 true; \
105 @export SUB_PACKAGES ; SUB_PACKAGES= ; \
106 export PACKAGE_NAME ; PACKAGE_NAME= ; \
107 export STATIC_LIBNAME ; STATIC_LIBNAME= ; \
108 export SHARED_LIBNAME ; SHARED_LIBNAME= ; \
109 export LIBNAME_SET_A ; LIBNAME_SET_A= ; \
110 export LIBNAME_SET_B ; LIBNAME_SET_B= ; \
111 export LIBNAME_SET ; LIBNAME_SET= ; \
112 export SUB_PACKAGES ; SUB_PACKAGES= ; \
113 for dir in $(SUBDIRS); do \
114 if test ""$(NIGHTLY_STATUS) = slave ; then \
115 file_stall -silent -name $$dir $(NIGHTLYREADYDIR)/$$dir; \
116 fi; \
117 if test -d $(SUIFHOME)/RCS/$$dir ; then \
118 rm -rf $(WORKDIR)/$$dir; \
119 if test ! -d $(WORKDIR)/$$dir; then \
120 mkdir $(WORKDIR)/$$dir; \
121 ln -s $(SUIFHOME)/RCS/$$dir $(WORKDIR)/$$dir/RCS ; \
122 (cd $(WORKDIR)/$$dir; co Makefile > /dev/null 2>&1); \
123 fi; \
124 fi; \
125 if test -d $(WORKDIR)/$$dir; then \
126 ( cd $(WORKDIR)/$$dir; \
127 $(MAKE) --no-print-directory $@ ; \
128 $(MAKE) --no-print-directory clean 1>> $(LOGFILE) 2>&1 ); \
129 fi; \
130 if test ""$(NIGHTLY_STATUS) = master ; then \
131 touch $(NIGHTLYREADYDIR)/$$dir; \
132 else \
133 true; \
134 fi; \
135 done
137 install-noisy: source
138 @export SUB_PACKAGES ; SUB_PACKAGES= ; \
139 export PACKAGE_NAME ; PACKAGE_NAME= ; \
140 export STATIC_LIBNAME ; STATIC_LIBNAME= ; \
141 export SHARED_LIBNAME ; SHARED_LIBNAME= ; \
142 export LIBNAME_SET_A ; LIBNAME_SET_A= ; \
143 export LIBNAME_SET_B ; LIBNAME_SET_B= ; \
144 export LIBNAME_SET ; LIBNAME_SET= ; \
145 export SUB_PACKAGES ; SUB_PACKAGES= ; \
146 for dir in $(SUBDIRS); do \
147 if test -d $(WORKDIR)/$$dir; then \
148 ( cd $(WORKDIR)/$$dir; \
149 SUB_PACKAGES= $(MAKE) --no-print-directory install ; \
150 $(MAKE) --no-print-directory clean ); \
151 fi; \
152 done
154 install-ver:
155 @ver_assert_ver_does_not_exist $(VERSION)
156 @ver_build_current $(VERSION)
158 build:
159 @export SUB_PACKAGES ; SUB_PACKAGES= ; \
160 export PACKAGE_NAME ; PACKAGE_NAME= ; \
161 export STATIC_LIBNAME ; STATIC_LIBNAME= ; \
162 export SHARED_LIBNAME ; SHARED_LIBNAME= ; \
163 export LIBNAME_SET_A ; LIBNAME_SET_A= ; \
164 export LIBNAME_SET_B ; LIBNAME_SET_B= ; \
165 export LIBNAME_SET ; LIBNAME_SET= ; \
166 export SUB_PACKAGES ; SUB_PACKAGES= ; \
167 for dir in $(SUBDIRS); do \
168 if test -d $(WORKDIR)/$$dir; then \
169 ( cd $(WORKDIR)/$$dir; $(MAKE) --no-print-directory ); \
170 fi; \
171 done
173 clean:
174 @-export SUB_PACKAGES ; SUB_PACKAGES= ; \
175 export PACKAGE_NAME ; PACKAGE_NAME= ; \
176 export STATIC_LIBNAME ; STATIC_LIBNAME= ; \
177 export SHARED_LIBNAME ; SHARED_LIBNAME= ; \
178 export LIBNAME_SET_A ; LIBNAME_SET_A= ; \
179 export LIBNAME_SET_B ; LIBNAME_SET_B= ; \
180 export LIBNAME_SET ; LIBNAME_SET= ; \
181 export SUB_PACKAGES ; SUB_PACKAGES= ; \
182 for dir in $(SUBDIRS); do \
183 if test -d $(WORKDIR)/$$dir; then \
184 ( cd $(WORKDIR)/$$dir; \
185 $(MAKE) --no-print-directory clean ); \
186 fi \
187 done
189 clean-rcs-links:
190 suif-recursive-make clean-rcs-links
191 if test -d RCS ; then \
192 rm RCS > /dev/null 2>&1 ; \
193 echo > /dev/null 2>&1 ; \
194 else : ; \
197 sub-packages:
198 @echo $(SUBDIRS)