2ee9d8c7beac3731a5e835e14921ac4e4cae4f81
markd
  Sat Apr 25 11:24:01 2026 -0700
Moved htslib to submodules/htslib. Removed use of local static shared libraries for libcurl, as UCSC copy is outdated.  Add a script that is run to check for htslib submodules being initialized and do the initialization.  It also checks for stale src/htslib files

diff --git src/makefile src/makefile
index f04dec2c039..6c322335114 100644
--- src/makefile
+++ src/makefile
@@ -4,44 +4,42 @@
 all: utils cgi blatSuite
 
 alpha: clean
 	${MAKE} utils-alpha cgi-alpha blatSuite
 
 beta: check-beta clean
 	${MAKE} cgi-beta
 
 # do a git update and clean
 update:
 	${GIT} pull
 	${MAKE} clean
 ##
 # topLibs
 ##
-TOP_LIBS = lib parasol/lib htslib
+TOP_LIBS = lib parasol/lib submodules/htslib
 ifneq ($(wildcard jkOwnLib/*),)
   TOP_LIBS += jkOwnLib
 endif
 topLibs: topChecks | ${TOP_LIBS:%=%.topLibs}
 %.topLibs:
 	${MAKE} -C $*
 
 topChecks:
 	@./checkUmask.sh
 	@MACHTYPE=${MACHTYPE} ./machTest.sh
-	@if [ ! -e htslib/.git ] ; then \
-	    set -x; git -c protocol.file.allow=always submodule update --init --recursive ; \
-	fi
+	@./submoduleSetup
 
 optLib:
 	cd optimalLeaf && ${MAKE}
 
 ##
 # hgLib
 ##
 ifneq ($(wildcard hg/makefile),)
    HGLIB_DIRS += hg/lib
    HGLIB_CHECK = hgLibChecks
 endif
 ifneq ($(wildcard hg/cgilib/makefile),)
    HGLIB_DIRS += hg/cgilib
 endif
 
@@ -96,31 +94,31 @@
 ALMOST_USER_APP_DIRS = blat gfClient gfServer isPcr ameme index/ixIxx utils/userApps
 
 .PHONY: userApps
 userApps: ${USER_APP_DIRS:%=%.userApps} ${ALMOST_USER_APP_DIRS:%=%.almostUserApps}
 
 %.userApps: topLibs hgLib destBin
 	${MAKE} -C $* userApps
 
 # these dont have userApps targets
 %.almostUserApps: topLibs hgLib destBin
 	${MAKE} -C $*
 
 destBin:
 	${MKDIR} ${DESTBINDIR}
 
-CLEAN_DIRS = ${STD_DIRS} lib hg jkOwnLib htslib utils webBat isPcr
+CLEAN_DIRS = ${STD_DIRS} lib hg jkOwnLib submodules/htslib utils webBat isPcr
 
 clean: ${CLEAN_DIRS:%=%.clean}
 	find . -name \*.o -print | xargs --no-run-if-empty rm
 	rm -f tags TAGS
 	rm -f cscope.out cscope.files cscope.po.out
 
 %.clean:
 	if [ -e "$*/makefile" ] ; then ${MAKE} -C $* clean ; fi
 
 
 TEST_DIRS = blat gfServer hg lib utils
 test:: $(TEST_DIRS:%=%.test)
 %.test:
 	if test -d $* ; then ${MAKE} -C $* test; fi