Skip to content
Permalink
Browse files

Overhauls how 'make install' works.

Now Easel only installs miniapps and their man pages.  It no longer
installs .h headers or libeasel.a. We've really never used it that
way.

Variable substitutions in man pages (EASEL_VERSION, etc) are now done
by ./configure, not by outmoded sedition script. Updated man page
headers and trailers, made consistent with HMMER style.

'make install' is now always verbose; quiet beautifications removed.

Removed 'make dist'.

Removed ifneq's from Makefiles. Aiming to have a checkout of github
master branch act identically to a tarball, which means we won't
remove any directories or modify any files when we make a release
tarball. This makes the ifneq checks for documentation/, etc obsolete.

Removed LICENSE.sh and LICENSE.tag.
  • Loading branch information...
cryptogenomicon committed Apr 3, 2018
1 parent 5813702 commit bece21e476db71b4b5c5b954a25108a96c5bd257
Showing with 897 additions and 915 deletions.
  1. +1 −0 LICENSE
  2. +0 −5 LICENSE.sh.in
  3. +0 −7 LICENSE.tag
  4. +13 −78 Makefile.in
  5. +297 −283 config.guess
  6. +123 −146 config.sub
  7. +45 −11 configure.ac
  8. +0 −32 documentation/codestyle.tex
  9. +8 −10 makeTAGS.sh
  10. +8 −2 miniapps/Makefile.in
  11. +17 −5 miniapps/{esl-afetch.man → esl-afetch.man.in}
  12. +19 −5 miniapps/{esl-alimanip.man → esl-alimanip.man.in}
  13. +18 −5 miniapps/{esl-alimap.man → esl-alimap.man.in}
  14. +19 −6 miniapps/{esl-alimask.man → esl-alimask.man.in}
  15. +14 −18 miniapps/{esl-alimerge.man → esl-alimerge.man.in}
  16. +18 −6 miniapps/{esl-alipid.man → esl-alipid.man.in}
  17. +18 −5 miniapps/{esl-alirev.man → esl-alirev.man.in}
  18. +20 −5 miniapps/{esl-alistat.man → esl-alistat.man.in}
  19. +0 −210 miniapps/esl-cluster.c
  20. +20 −5 miniapps/{esl-compalign.man → esl-compalign.man.in}
  21. +19 −5 miniapps/{esl-compstruct.man → esl-compstruct.man.in}
  22. +19 −5 miniapps/{esl-construct.man → esl-construct.man.in}
  23. +17 −8 miniapps/{esl-histplot.man → esl-histplot.man.in}
  24. +18 −6 miniapps/{esl-mask.man → esl-mask.man.in}
  25. +18 −5 miniapps/{esl-reformat.man → esl-reformat.man.in}
  26. +19 −5 miniapps/{esl-selectn.man → esl-selectn.man.in}
  27. +18 −5 miniapps/{esl-seqrange.man → esl-seqrange.man.in}
  28. +19 −5 miniapps/{esl-seqstat.man → esl-seqstat.man.in}
  29. +19 −5 miniapps/{esl-sfetch.man → esl-sfetch.man.in}
  30. +19 −5 miniapps/{esl-shuffle.man → esl-shuffle.man.in}
  31. +21 −5 miniapps/{esl-ssdraw.man → esl-ssdraw.man.in}
  32. +16 −6 miniapps/{esl-translate.man → esl-translate.man.in}
  33. +17 −6 miniapps/{esl-weight.man → esl-weight.man.in}
@@ -25,6 +25,7 @@ contributors include:

Free Software Foundation, Inc. configure
(various authors) autoconf macros in m4/
FreeBSD easel.c::esl_strsep()
Stephen Moshier esl_sse.c,esl_vmx.c
Julien Pommier esl_sse.c,esl_vmx.c
Sun Microsystems, Inc. esl_stats.c::esl_erfc()

This file was deleted.

This file was deleted.

@@ -506,6 +506,10 @@ check: ${ALL_UTESTS} .FORCE
${QUIET_SUBDIR0}miniapps ${QUIET_SUBDIR1} check
${QUIET_SUBDIR0}testsuite ${QUIET_SUBDIR1} check

# `make dcheck`: run developer testsuite, save output in testsuite/dcheck.report
dcheck:
${QUIET_SUBDIR0}testsuite ${QUIET_SUBDIR1} dcheck

pdf:
${QUIET_SUBDIR0}documentation ${QUIET_SUBDIR1} pdf

@@ -586,39 +590,24 @@ ${ALL_EXAMPLES}: libeasel.a



# install: installs libeasel.a in ${libdir}/
# installs Easel headers in ${includedir}/
# installs miniapp binaries in ${bindir}/
# install: miniapp binaries in ${bindir}/
# - we don't install headers or libeasel.a; we never use it that way.
# instead, easel is included as a subdir of hmmer, infernal projects)
# - always verbose, no quiet beautification
#
install:
${INSTALL} -d ${DESTDIR}${bindir}
${INSTALL} -d ${DESTDIR}${libdir}
${INSTALL} -d ${DESTDIR}${includedir}
${INSTALL} -m 0644 libeasel.a ${DESTDIR}${libdir}/
for file in ${HDRS}; do\
${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/ ;\
done
${INSTALL} -m 0644 esl_config.h ${DESTDIR}${includedir}/
${QUIET_SUBDIR0}miniapps ${QUIET_SUBDIR1} install
${INSTALL} -d ${DESTDIR}${man1dir}
${MAKE} -C miniapps install

# "make uninstall" reverses the steps of "make install"
#
uninstall:
-rm -f ${DESTDIR}${libdir}/libeasel.a
for file in ${HDRS}; do\
rm -f ${DESTDIR}${includedir}/$$file;\
done
rm -f ${DESTDIR}${includedir}/esl_config.h
${QUIET_SUBDIR0}miniapps ${QUIET_SUBDIR1} uninstall
${MAKE} -C miniapps uninstall


# "make clean" removes almost everything except configuration files
#
clean:
#Use 'ifneq' instead of 'test -e' because the '+@' in QUIET_SUBDIR0 can't
#be passed to the shell. Note that ifneq breaks if indented.
ifneq (,$(wildcard ./documentation/.))
${QUIET_SUBDIR0}documentation ${QUIET_SUBDIR1} clean
endif
${QUIET_SUBDIR0}testsuite ${QUIET_SUBDIR1} clean
${QUIET_SUBDIR0}miniapps ${QUIET_SUBDIR1} clean
${QUIET}-rm -f ${ALL_OBJS} libeasel.a
@@ -637,72 +626,18 @@ ifndef V
endif


distclean: clean
#See above for explanation of 'ifneq' usage
ifneq (,$(wildcard ./documentation/.))
distclean: clean
${QUIET_SUBDIR0}documentation ${QUIET_SUBDIR1} distclean
endif
${QUIET_SUBDIR0}testsuite ${QUIET_SUBDIR1} distclean
${QUIET_SUBDIR0}miniapps ${QUIET_SUBDIR1} distclean
${QUIET}-rm -f esl_config.h decoy_config.h
${QUIET}-rm -rf autom4te.cache
${QUIET}-rm -f LICENSE.sh
${QUIET}-rm -f Makefile

gitclean: distclean
${QUIET}-rm -f configure


# 'make REPOSITORY=... dist' : create a new distribution tarball
#
dist:
# Make sure we pointed the make dist to a subversion repository
@if test x${REPOSITORY} = 'x'; then\
echo "REPOSITORY isn't set; use make REPOSITORY=... dist";\
exit 1;\
fi
# Delete any old versions of the same release
@if test -d ../${BASENAME}-${RELEASE}; then rm -rf ../${BASENAME}-${RELEASE}; fi
@if test -e ../${BASENAME}-${RELEASE}.tar; then rm -f ../${BASENAME}-${RELEASE}.tar; fi
@if test -e ../${BASENAME}-${RELEASE}.tar.Z; then rm -f ../${BASENAME}-${RELEASE}.tar.Z; fi
@if test -e ../${BASENAME}-${RELEASE}.tar.gz; then rm -f ../${BASENAME}-${RELEASE}.tar.gz; fi
# Export the release from Subversion control
svn export ${REPOSITORY} ../${BASENAME}-${RELEASE}
# Make the configure script from configure.ac
(cd ../${BASENAME}-${RELEASE}; autoconf)
# We'll need some basic Makefiles
(cd ../${BASENAME}-${RELEASE}/; ./configure)
# Set file permissions.
find ../${BASENAME}-${RELEASE} -type f -exec chmod +r {} \;
# Compile the PDF documentation and move it to top level dir
(cd ../${BASENAME}-${RELEASE}/documentation/; make pdf)
mv ../${BASENAME}-${RELEASE}/documentation/current.pdf ../${BASENAME}-${RELEASE}/Userguide.pdf
# Attach license stamps by replacing LICENSE keyword everywhere
find ../${BASENAME}-${RELEASE} -type f -exec devkit/sedition-pp LICENSE LICENSE.tag {} \;
# Other keyword replacements
devkit/sedition RELEASE ${RELEASE} RELEASEDATE ${RELEASEDATE} COPYRIGHT ${COPYRIGHT} ../${BASENAME}-${RELEASE}/00README
devkit/sedition RELEASE ${RELEASE} ../${BASENAME}-${RELEASE}/INSTALL
# Cleanup
(cd ../${BASENAME}-${RELEASE}/; make implode)
(cd ../${BASENAME}-${RELEASE}/; make distclean)
# Packaging
(cd ..; tar cvf ${BASENAME}-${RELEASE}.tar ${BASENAME}-${RELEASE})
(cd ..; ${COMPRESS} ${BASENAME}-${RELEASE}.tar)



# `make dcheck`: run developer testsuite, save output in testsuite/dcheck.report
dcheck:
${QUIET_SUBDIR0}testsuite ${QUIET_SUBDIR1} dcheck

# The "implode" target is used when we've got Easel as a subdirectory
# of a larger project, like Infernal or HMMER, and we're building a
# distribution for that larger project. We remove any "personal
# information" from Easel. Eventually that'd include our bug tracking,
# for instance, but right now there's nothing to do.
implode:
-rm -f 00CHECKLIST
-rm -f LICENSE.tag

TAGS:
./makeTAGS.sh

0 comments on commit bece21e

Please sign in to comment.
You can’t perform that action at this time.