1 ###############################################################
2 # Makefile for SQUID library
3 # CVS $Id: Makefile.in,v 1.1.1.1 2005/03/22 08:34:26 cmzmasek Exp $
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.
11 # HMMER - Biological sequence analysis with profile HMMs
12 # Copyright (C) 1992-1999 Washington University School of Medicine
15 # This source code is distributed under the terms of the
16 # GNU General Public License. See the files COPYING and LICENSE
20 ### Installation points
22 # For simple installations, just make sure ${prefix} is set correctly:
23 # default is /usr/local.
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).
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.
32 # The (simple) default configuration installs as follows:
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
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`
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
53 exec_prefix = @exec_prefix@
56 INCLUDEDIR = @includedir@
60 ## your compiler and compiler flags
65 ## other defined flags for machine-specific stuff
67 MDEFS = @MDEFS@ @DEFS@
75 ## instructions for installing man pages
80 # Configuration for compiling in optional PVM support
83 PVMLIBDIR = @PVMLIBDIR@
84 PVMINCDIR = @PVMINCDIR@
88 ## You should not need to modify below this line
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\)"
121 READMES = 00README INSTALL Makefile.in
177 ################################################################
178 # Targets that actually build the squid executables
179 all: version.h $(PROGS)
181 $(PROGS): @EXEC_DEPENDENCY@ version.h $(OBJS)
182 $(CC) $(CFLAGS) $(MDEFS) $(PVMLIBDIR) -o $@ $@_main.o $(OBJS) $(PVMLIBS) $(LIBS)
185 $(CC) $(CFLAGS) $(PVMFLAG) $(PVMINCDIR) $(MDEFS) -c $<
186 ################################################################
189 ################################################################
190 # Targets expected by packages (e.g. HMMER) that
191 # include SQUID as a module.
195 libsquid.a: version.h $(OBJS)
196 $(AR) libsquid.a $(OBJS)
199 #################################################################
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
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
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)/;\
230 @for manpage in $(MANS); do\
231 $(INSTMAN) $$manpage.man $(MANDIR)/man$(MANSUFFIX)/$$manpage.$(MANSUFFIX);\
236 -rm -f Makefile libsquid.a version.h config.cache config.log config.status ${POSTCONFHDRS}
239 -rm -f *.o *~ core TAGS llib-lsquid.ln $(PROGS)
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).
246 # Delete old versions of the same release
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
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
257 cvs tag -c -F ${BASENAME}_${RELCODE}
258 cvs export -r ${BASENAME}_${RELCODE} -d ${BASENAME}-${RELEASE} ${BASENAME}
260 # Make the configure script from configure.in
262 (cd ${BASENAME}-${RELEASE}; autoconf)
264 # Include the appropriate license files
266 cp Licenses/LICENSE.${LICENSETAG} ${BASENAME}-${RELEASE}/LICENSE
267 cp Licenses/COPYRIGHT.${LICENSETAG} ${BASENAME}-${RELEASE}/COPYRIGHT
269 # Put license tags (short licenses) on files that need 'em (replace LICENSE keyword)
271 for file in $(READMES) *.c ${HDRS} ${PRECONFHDRS}; do\
272 licenseadd.pl Licenses/$(LICENSETAG) ${BASENAME}-${RELEASE}/$$file;\
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.
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
286 tar cvf ${BASENAME}-${RELEASE}.tar ${BASENAME}-${RELEASE}
287 ${COMPRESS} ${BASENAME}-$(RELEASE).tar
290 etags -t *.h *.c Makefile.in