initial commit
[jalview.git] / forester / archive / RIO / others / hmmer / squid / Makefile.in
1 ###############################################################
2 # Makefile for SQUID library
3 # CVS $Id: Makefile.in,v 1.1.1.1 2005/03/22 08:34:26 cmzmasek Exp $
4 #
5 # Note: The autoconf variables in this file must be coordinated
6 #       with HMMER, if you change them, because HMMER will 
7 #       create a Makefile from this Makefile.in using its own
8 #       configure script, not SQUID's.
9 #
10 ###########
11 # HMMER - Biological sequence analysis with profile HMMs
12 # Copyright (C) 1992-1999 Washington University School of Medicine
13 # All Rights Reserved
14
15 #     This source code is distributed under the terms of the
16 #     GNU General Public License. See the files COPYING and LICENSE
17 #     for details.
18 ###########
19
20 ### Installation points
21 ###
22 # For simple installations, just make sure ${prefix} is set correctly:
23 # default is /usr/local.
24 #
25 # For heterogenous computing environments, also
26 # set ${exec_prefix}, which gives you some flexibility 
27 # for installing architecture dependent files (e.g. the programs).
28 #
29 # It's less likely that you'll need to set the individual
30 # variables BINDIR, MANDIR, etc., but they're there if you need 'em.
31 #
32 # The (simple) default configuration installs as follows:
33 #    prefix = /usr/local     
34 #         executables in   /usr/local/bin
35 #         man pages in     /usr/local/man/man1
36 #         header files in  /usr/local/include
37 #         libsquid.a in    /usr/local/lib
38 #         scripts in       /usr/local/bin
39 #
40 # The St. Louis configuration, an example of a heterogenous 
41 # computing environment, installs by setting:
42 #    prefix      = /usr/seshare/
43 #    exec_prefix = /usr/seshare/`uname`
44 #
45 # on a Linux platform, for instance, this results in:
46 #         executables in   /usr/seshare/Linux/bin
47 #         man pages in     /usr/seshare/man
48 #         header files in  /usr/seshare/include
49 #         libsquid.a in    /usr/seshare/Linux/lib
50 #         scripts in       /usr/seshare/Linux/bin
51 #         
52 prefix      = @prefix@
53 exec_prefix = @exec_prefix@
54 BINDIR      = @bindir@
55 MANDIR      = @mandir@
56 INCLUDEDIR  = @includedir@
57 LIBDIR      = @libdir@
58 SCRIPTDIR   = @bindir@
59
60 ## your compiler and compiler flags
61 #
62 CC     = @CC@
63 CFLAGS = @CFLAGS@
64
65 ## other defined flags for machine-specific stuff 
66 #
67 MDEFS = @MDEFS@ @DEFS@
68 LIBS  = @LIBS@ -lm
69
70 ## Archiver command
71 #
72 AR     = ar rcv
73 RANLIB = @RANLIB@
74
75 ## instructions for installing man pages
76 #
77 INSTMAN   = cp
78 MANSUFFIX = 1
79
80 # Configuration for compiling in optional PVM support
81 #
82 PVMFLAG   = @PVMFLAG@
83 PVMLIBDIR = @PVMLIBDIR@
84 PVMINCDIR = @PVMINCDIR@
85 PVMLIBS   = @PVMLIBS@
86
87 #######
88 ## You should not need to modify below this line
89 #######
90 SHELL       = /bin/sh
91 BASENAME    = "squid"
92 PACKAGE     = "SQUID"
93 RELEASE     = "1.7"
94 RELCODE     = "rel1_7"
95 RELEASEDATE = "July 2000"
96 COPYRIGHT   = "Copyright \(C\) 1992-2000 HHMI/Washington University School of Medicine"
97 LICENSE     = "Freely distributed under the GNU General Public License \(GPL\)"
98 LICENSETAG  = gnu
99 COMPRESS    = gzip
100
101 PROGS = afetch\
102         alistat\
103         compalign\
104         compstruct\
105         sfetch\
106         sreformat\
107         revcomp\
108         seqsplit\
109         seqstat\
110         shuffle\
111         sindex\
112         translate\
113         weight
114
115 MANS =  alistat\
116         seqstat\
117         sfetch\
118         shuffle\
119         sreformat\
120
121 READMES = 00README INSTALL Makefile.in 
122
123 SCRIPTS = 
124
125 PRECONFHDRS = \
126         squid.h.in\
127         squidconf.h.in
128
129 POSTCONFHDRS = \
130         squid.h\
131         squidconf.h\
132         version.h
133
134 HDRS =  rk.h\
135         sqfuncs.h\
136         gki.h\
137         gsi.h\
138         msa.h\
139         ssi.h\
140         stopwatch.h
141
142 OBJS =  a2m.o\
143         aligneval.o\
144         alignio.o\
145         clustal.o\
146         cluster.o\
147         dayhoff.o\
148         eps.o\
149         file.o\
150         getopt.o\
151         gki.o\
152         gsi.o\
153         hsregex.o\
154         iupac.o\
155         msa.o\
156         msf.o\
157         phylip.o\
158         revcomp.o\
159         rk.o\
160         selex.o\
161         seqencode.o\
162         shuffle.o\
163         sqerror.o\
164         sqio.o\
165         squidcore.o\
166         sre_ctype.o\
167         sre_math.o\
168         sre_string.o\
169         ssi.o\
170         stack.o\
171         stockholm.o\
172         stopwatch.o\
173         translate.o\
174         types.o\
175         weight.o
176
177 ################################################################
178 # Targets that actually build the squid executables
179 all: version.h $(PROGS) 
180
181 $(PROGS): @EXEC_DEPENDENCY@ version.h $(OBJS) 
182         $(CC) $(CFLAGS) $(MDEFS) $(PVMLIBDIR) -o $@ $@_main.o $(OBJS) $(PVMLIBS) $(LIBS)
183
184 .c.o:
185         $(CC) $(CFLAGS) $(PVMFLAG) $(PVMINCDIR) $(MDEFS) -c $<          
186 ################################################################
187
188
189 ################################################################
190 # Targets expected by packages (e.g. HMMER) that
191 # include SQUID as a module. 
192 #
193 module: libsquid.a
194
195 libsquid.a: version.h $(OBJS)
196         $(AR) libsquid.a $(OBJS)
197         $(RANLIB) libsquid.a
198         chmod 644 libsquid.a
199 #################################################################
200
201
202 # version.h: 
203 #   create the version.h file that will define stamps used by 
204 #   squidcore.c's Banner(), which is called by all executables to
205 #   print a standard package/copyright/license banner;
206 #   then puts copies of version.h in all directories that are 
207 #   going to need it.
208 #
209 version.h:
210         @echo "Creating version.h..."
211         @echo "/* version.h -- automatically generated by a Makefile. DO NOT EDIT. */" > version.h
212         @echo "#define PACKAGE     \"$(PACKAGE)\""     >> version.h
213         @echo "#define RELEASE     \"$(RELEASE)\""     >> version.h
214         @echo "#define RELEASEDATE \"$(RELEASEDATE)\"" >> version.h
215         @echo "#define COPYRIGHT   \"$(COPYRIGHT)\""   >> version.h
216         @echo "#define LICENSE     \"$(LICENSE)\""     >> version.h
217
218 install:  $(PROGS) libsquid.a
219         test -d $(LIBDIR)    || mkdir -p $(LIBDIR)
220         test -d $(BINDIR)    || mkdir -p $(BINDIR)
221         test -d $(SCRIPTDIR) || mkdir -p $(SCRIPTDIR)
222         test -d $(INCLUDEDIR)|| mkdir -p $(INCLUDEDIR)
223         test -d $(MANDIR)/man$(MANSUFFIX) || mkdir -p $(MANDIR)/man$(MANSUFFIX)
224         cp libsquid.a $(LIBDIR)/
225         cp $(HDRS)  $(INCLUDEDIR)/
226         cp $(PROGS) $(BINDIR)/
227         for scriptfile in $(SCRIPTS); do\
228           cp Scripts/$$scriptfile $(SCRIPTDIR)/;\
229         done
230         @for manpage in $(MANS); do\
231           $(INSTMAN) $$manpage.man $(MANDIR)/man$(MANSUFFIX)/$$manpage.$(MANSUFFIX);\
232         done
233
234 distclean:
235         make clean
236         -rm -f Makefile libsquid.a version.h config.cache config.log config.status ${POSTCONFHDRS}
237
238 clean:
239         -rm -f *.o *~ core TAGS llib-lsquid.ln $(PROGS) 
240
241 # dist: build a new distribution directory in squid-$RELEASE, and make a tarball.
242 #       Extracts straight from the CVS repository, so you must first do
243 #       a "cvs commit" (it checks to be sure you do, at least for the current
244 #       working directory). 
245 dist:
246 # Delete old versions of the same release
247 #
248         @if test -d ${BASENAME}-$(RELEASE);        then rm -rf ${BASENAME}-$(RELEASE);        fi
249         @if test -e ${BASENAME}-$(RELEASE).tar;    then rm -f  ${BASENAME}-$(RELEASE).tar;    fi
250         @if test -e ${BASENAME}-$(RELEASE).tar.Z;  then rm -f  ${BASENAME}-$(RELEASE).tar.Z;  fi
251         @if test -e ${BASENAME}-$(RELEASE).tar.gz; then rm -f  ${BASENAME}-$(RELEASE).tar.gz; fi
252 #
253 # CVS tag and extract. -c: make sure we committed;
254 #                      -F: allow more than one "make dist" per rel
255 # prep: must have done "cvs commit", and CVSROOT must be set
256 #
257         cvs tag -c -F ${BASENAME}_${RELCODE}
258         cvs export -r ${BASENAME}_${RELCODE} -d ${BASENAME}-${RELEASE} ${BASENAME}
259
260 # Make the configure script from configure.in
261 #
262         (cd ${BASENAME}-${RELEASE}; autoconf)
263 #
264 # Include the appropriate license files
265 #
266         cp Licenses/LICENSE.${LICENSETAG}     ${BASENAME}-${RELEASE}/LICENSE
267         cp Licenses/COPYRIGHT.${LICENSETAG}   ${BASENAME}-${RELEASE}/COPYRIGHT
268 #
269 # Put license tags (short licenses) on files that need 'em (replace LICENSE keyword)
270 #
271         for file in $(READMES) *.c ${HDRS} ${PRECONFHDRS}; do\
272            licenseadd.pl Licenses/$(LICENSETAG) ${BASENAME}-${RELEASE}/$$file;\
273         done;
274 #
275 # Remove files/directories that aren't supposed to go out in the distro.
276 # Do this last, so other steps (license adding, etc.) have simple loops.
277 #
278         -rm -rf ${BASENAME}-${RELEASE}/Licenses
279         -rm -rf ${BASENAME}-${RELEASE}/Docs
280         -rm ${BASENAME}-${RELEASE}/LOG
281         -rm ${BASENAME}-${RELEASE}/configure.in
282         -rm ${BASENAME}-${RELEASE}/test_main.c
283 #
284 # pack it up!
285 #
286         tar cvf ${BASENAME}-${RELEASE}.tar ${BASENAME}-${RELEASE}
287         ${COMPRESS} ${BASENAME}-$(RELEASE).tar
288
289 TAGS:
290         etags -t *.h *.c Makefile.in
291
292