From 4d1132fe8af3037e9bc3f4ff419151cebcc10fc1 Mon Sep 17 00:00:00 2001
From: Mark Diekhans
Date: Sun, 19 Jan 2025 11:28:49 -0800
Subject: [PATCH] userApps working as before on hgwdev
---
src/ameme/makefile | 1 +
src/hg/makeDb/hgGoldGapGl/makefile | 4 +-
src/hg/makeDb/hgLoadWiggle/makefile | 22 +++------
src/hg/utils/chainToBigChain/makefile | 52 +--------------------
src/hg/utils/overlapSelect/makefile | 2 +-
src/inc/cgiLoader.mk | 27 +++--------
src/inc/common.mk | 14 +++++-
src/inc/userApp.mk | 4 +-
src/utils/bedToBigBed/makefile | 65 +--------------------------
9 files changed, 35 insertions(+), 156 deletions(-)
diff --git a/src/ameme/makefile b/src/ameme/makefile
index ac37cfd3228..69adae80c00 100644
--- a/src/ameme/makefile
+++ b/src/ameme/makefile
@@ -1,4 +1,5 @@
kentSrc = ..
A = ameme
extraObjects = fragFind.o
+extraHeaders = fragFind.h
include $(kentSrc)/inc/userApp.mk
diff --git a/src/hg/makeDb/hgGoldGapGl/makefile b/src/hg/makeDb/hgGoldGapGl/makefile
index 9b93c7e8bac..c0daae76a1c 100644
--- a/src/hg/makeDb/hgGoldGapGl/makefile
+++ b/src/hg/makeDb/hgGoldGapGl/makefile
@@ -1,3 +1,5 @@
kentSrc = ../../..
-A = hgLoadGap
+A = hgGoldGapGl hgLoadGap
+extraHeaders = ntContig.h
+extraObjects = ntContig.o
include ${kentSrc}/inc/userApp.mk
diff --git a/src/hg/makeDb/hgLoadWiggle/makefile b/src/hg/makeDb/hgLoadWiggle/makefile
index f5b9638aa57..baf88ccdd5e 100644
--- a/src/hg/makeDb/hgLoadWiggle/makefile
+++ b/src/hg/makeDb/hgLoadWiggle/makefile
@@ -1,10 +1,13 @@
kentSrc = ../../..
A = hgLoadWiggle hgWiggle wigEncode
-
-include ${kentSrc}/inc/userApp.mk
+include ${kentSrc}/inc/cgiLoader.mk
perl_progs = fixStepToBedGraph varStepToBedGraph
-default:: ${perl_progs:%=%.pl}
+default:: ${perl_progs:%=${DESTDIR}${BINDIR}/%.pl}
+
+${DESTDIR}${BINDIR}/%.pl: %.pl
+ @mkdir -p $(dir $@)
+ cp -f $< $@
clean::
rm -f test_data/chr1_0.wib test_data/chr1_0.wig test_data/chr1_1.wib \
@@ -12,16 +15,3 @@ clean::
test_data/chr1_begin.ascii test_data/chr1_end.ascii \
test_data/chr1_middle.ascii test_data/chrM.ascii test_data/chrM.wib \
test_data/chrM.wig test_data/wiggle.tab
-
-user_loader_dir = ${CGI_BIN}-${USER}/loader
-alpha_loader_dir = ${CGI_BIN}/loader
-beta_loader_dir = ${CGI_BIN}-beta/loader
-
-cgi:: ${A:%=${user_loader_dir}/%}
-
-${user_loader_dir}/%: %
- @{MKDIR} $(dir $@)
- cp -f $< $@
-
-alpha::
-
diff --git a/src/hg/utils/chainToBigChain/makefile b/src/hg/utils/chainToBigChain/makefile
index 970202ae490..186ccd25074 100644
--- a/src/hg/utils/chainToBigChain/makefile
+++ b/src/hg/utils/chainToBigChain/makefile
@@ -1,54 +1,4 @@
COPT=-ggdb
kentSrc = ../../..
A = chainToBigChain
-include $(kentSrc)/inc/userApp.mk
-
-cgi:: compile
- chmod a+rx $A${EXE}
- @if [ ! -d "${CGI_BIN}-${USER}/loader" ]; then \
- ${MKDIR} ${CGI_BIN}-${USER}/loader; \
- fi
- rm -f ${CGI_BIN}-${USER}/loader/$A
- mv $A${EXE} ${CGI_BIN}-${USER}/loader/$A
- for F in ${SQL_FILES}; do \
- B=`basename $$F` ; \
- rm -f ${DESTDIR}${CGI_BIN}-${USER}/loader/$$B ; \
- cp -p $$F ${DESTDIR}${CGI_BIN}-${USER}/loader/$$B ; \
- done
-
-alpha:: strip
- @if [ ! -d "${CGI_BIN}/loader" ]; then \
- ${MKDIR} ${CGI_BIN}/loader; \
- fi
- rm -f ${CGI_BIN}/loader/$A
- mv $A${EXE} ${CGI_BIN}/loader/$A
- for F in ${SQL_FILES}; do \
- B=`basename $$F` ; \
- rm -f ${DESTDIR}${CGI_BIN}/loader/$$B ; \
- cp -p $$F ${DESTDIR}${CGI_BIN}/loader/$$B ; \
- done
-
-beta:: strip
- @if [ ! -d "${CGI_BIN}-beta/loader" ]; then \
- ${MKDIR} ${CGI_BIN}-beta/loader; \
- fi
- rm -f ${CGI_BIN}-beta/loader/$A
- mv $A${EXE} ${CGI_BIN}-beta/loader/$A
- for F in ${SQL_FILES}; do \
- B=`basename $$F` ; \
- rm -f ${DESTDIR}${CGI_BIN}-beta/loader/$$B ; \
- cp -p $$F ${DESTDIR}${CGI_BIN}-beta/loader/$$B ; \
- done
-
-strip:: compile
- ${STRIP} $A${EXE}
- chmod g+w $A${EXE}
- chmod a+rx $A${EXE}
-
-debug:: $O
- ${CC} $O ${MYLIBS} ${L}
- mv ${AOUT} $A${EXE}
-
-clean::
- rm -f $O $A${EXE} tests/bed.tab
-
+include ${kentSrc}/inc/cgiLoader.mk
diff --git a/src/hg/utils/overlapSelect/makefile b/src/hg/utils/overlapSelect/makefile
index 3f8c50a190a..c9bd0bdd6b5 100644
--- a/src/hg/utils/overlapSelect/makefile
+++ b/src/hg/utils/overlapSelect/makefile
@@ -1,7 +1,7 @@
kentSrc = ../../..
A = overlapSelect
extraHeaders = rowReader.h chromAnn.h chromAnnMap.h selectTable.h coordCols.h \
- usage.h
+ usage.h
extraObjects = rowReader.o chromAnn.o chromAnnMap.o selectTable.o coordCols.o
include ${kentSrc}/inc/userApp.mk
diff --git a/src/inc/cgiLoader.mk b/src/inc/cgiLoader.mk
index 48114d6ee3b..86a9255bbde 100644
--- a/src/inc/cgiLoader.mk
+++ b/src/inc/cgiLoader.mk
@@ -15,28 +15,13 @@ cgi:: compile
chmod a+rx ${A:%=%${EXE}}
${MKDIR} ${CGI_BIN}-${USER}/loader; \
mv -f ${A:%=%${EXE}} ${CGI_BIN}-${USER}/loader/
- for F in ${SQL_FILES}; do \
- B=`basename $$F` ; \
- rm -f ${DESTDIR}${CGI_BIN}-${USER}/loader/$$B ; \
- cp -p $$F ${DESTDIR}${CGI_BIN}-${USER}/loader/$$B ; \
- done
-alpha:: strip
+alpha:: compile
${MKDIR} ${CGI_BIN}/loader; \
- mv -f ${A:%=%${EXE}} ${CGI_BIN}/loader/
- for F in ${SQL_FILES}; do \
- B=`basename $$F` ; \
- rm -f ${DESTDIR}${CGI_BIN}/loader/$$B ; \
- cp -p $$F ${DESTDIR}${CGI_BIN}/loader/$$B ; \
- done
+ ${STRIP} ${A:%=%${EXE}}
+ cp -f ${A:%=%${EXE}} ${CGI_BIN}/loader/
-beta:: strip
+beta:: compile
${MKDIR} ${CGI_BIN}-beta/loader; \
- mv -f ${A:%=%${EXE}} ${CGI_BIN}-beta/loader/
- for F in ${SQL_FILES}; do \
- B=`basename $$F` ; \
- rm -f ${DESTDIR}${CGI_BIN}-beta/loader/$$B ; \
- cp -p $$F ${DESTDIR}${CGI_BIN}-beta/loader/$$B ; \
- done
-
-
+ ${STRIP} ${A:%=%${EXE}}
+ cp -f ${A:%=%${EXE}} ${CGI_BIN}-beta/loader/
diff --git a/src/inc/common.mk b/src/inc/common.mk
index 58892a92fea..bb24d5e1bcd 100644
--- a/src/inc/common.mk
+++ b/src/inc/common.mk
@@ -3,6 +3,13 @@ CC?=gcc
# allow the somewhat more modern C syntax, e.g. 'for (int i=5; i<10, i++)'
CFLAGS += -std=c99
+# This is required to get the cgiLoader.mk compile target to work. for some
+# reason, make's %.o: %.c overrides the rule below, cause the compiles to fail
+# due to lack of -I flags in rule. Running with make -r to not use built-in
+# rules fixes, however MAKEFLAGS += -r doesn't do the trick, this does.
+# make is a very mysterious fellow traveler.
+GNUMAKEFLAGS += -r
+
# add additional library paths
L += ${LDFLAGS}
@@ -25,6 +32,8 @@ HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../i
# to check for Mac OSX Darwin specifics:
UNAME_S := $(shell uname -s)
+# to check for differences in Linux OS version
+KERNEL_REL := $(shell uname -r)
# to check for builds on hgwdev
HOSTNAME = $(shell uname -n)
@@ -169,6 +178,10 @@ endif
ifneq ($(UNAME_S),Darwin)
L+=${PTHREADLIB}
+ ifneq ($(filter 3.%, ${KERNEL_REL}),)
+ # older linux needed libconv
+ XXXICONVLIB=-liconv
+ endif
else
ifeq (${ICONVLIB},)
ICONVLIB=-liconv
@@ -476,7 +489,6 @@ PIPELINE_PATH=/hive/groups/encode/dcc/pipeline
CONFIG_DIR = ${PIPELINE_PATH}/${PIPELINE_DIR}/config
ENCODEDCC_DIR = ${PIPELINE_PATH}/downloads/encodeDCC
-
CC_PROG_OPTS = ${COPT} ${CFLAGS} ${HG_DEFS} ${LOWELAB_DEFS} ${HG_WARN} ${HG_INC} ${XINC}
%.o: %.c
${CC} ${CC_PROG_OPTS} -o $@ -c $<
diff --git a/src/inc/userApp.mk b/src/inc/userApp.mk
index 3a66beaa8af..c3902521d1f 100644
--- a/src/inc/userApp.mk
+++ b/src/inc/userApp.mk
@@ -35,7 +35,9 @@ objects = ${extraObjects} ${externObjects}
default:: ${A:%=${DESTDIR}${BINDIR}/%${EXE}}
-${DESTDIR}${BINDIR}/%${EXE}: ${DEPLIBS} %.o ${objects}
+${extraObjects}: ${extraHeaders}
+
+${DESTDIR}${BINDIR}/%${EXE}: %.o ${objects} ${DEPLIBS}
@mkdir -p $(dir $@)
${CC} ${COPT} -o $@ $*.o ${objects} ${LINKLIBS} ${L}
${STRIP} ${DESTDIR}${BINDIR}/${A}${EXE}
diff --git a/src/utils/bedToBigBed/makefile b/src/utils/bedToBigBed/makefile
index 9699a03f846..ec96618bff3 100644
--- a/src/utils/bedToBigBed/makefile
+++ b/src/utils/bedToBigBed/makefile
@@ -1,66 +1,3 @@
kentSrc = ../..
A = bedToBigBed
-include $(kentSrc)/inc/userApp.mk
-L += ${SOCKETLIB}
-
-cgi:: compile
- chmod a+rx $A${EXE}
- @if [ ! -d "${CGI_BIN}-${USER}/loader" ]; then \
- ${MKDIR} ${CGI_BIN}-${USER}/loader; \
- fi
- rm -f ${CGI_BIN}-${USER}/loader/$A
- mv $A${EXE} ${CGI_BIN}-${USER}/loader/$A
- for F in ${SQL_FILES}; do \
- B=`basename $$F` ; \
- rm -f ${DESTDIR}${CGI_BIN}-${USER}/loader/$$B ; \
- cp -p $$F ${DESTDIR}${CGI_BIN}-${USER}/loader/$$B ; \
- done
-
-alpha:: strip
- @if [ ! -d "${CGI_BIN}/loader" ]; then \
- ${MKDIR} ${CGI_BIN}/loader; \
- fi
- rm -f ${CGI_BIN}/loader/$A
- mv $A${EXE} ${CGI_BIN}/loader/$A
- for F in ${SQL_FILES}; do \
- B=`basename $$F` ; \
- rm -f ${DESTDIR}${CGI_BIN}/loader/$$B ; \
- cp -p $$F ${DESTDIR}${CGI_BIN}/loader/$$B ; \
- done
-
-beta:: strip
- @if [ ! -d "${CGI_BIN}-beta/loader" ]; then \
- ${MKDIR} ${CGI_BIN}-beta/loader; \
- fi
- rm -f ${CGI_BIN}-beta/loader/$A
- mv $A${EXE} ${CGI_BIN}-beta/loader/$A
- for F in ${SQL_FILES}; do \
- B=`basename $$F` ; \
- rm -f ${DESTDIR}${CGI_BIN}-beta/loader/$$B ; \
- cp -p $$F ${DESTDIR}${CGI_BIN}-beta/loader/$$B ; \
- done
-
-strip:: compile
- ${STRIP} $A${EXE}
- chmod g+w $A${EXE}
- chmod a+rx $A${EXE}
-
-install:: strip
- @if [ ! -d "${DESTDIR}${CGI_BIN}/loader" ]; then \
- ${MKDIR} "${DESTDIR}${CGI_BIN}/loader"; \
- fi
- rm -f ${DESTDIR}${CGI_BIN}/loader/$A
- mv $A${EXE} ${DESTDIR}${CGI_BIN}/loader/$A
- for F in ${SQL_FILES}; do \
- B=`basename $$F` ; \
- rm -f ${DESTDIR}${CGI_BIN}/loader/$$B ; \
- cp -p $$F ${DESTDIR}${CGI_BIN}/loader/$$B ; \
- done
-
-debug:: $O
- ${CC} $O ${MYLIBS} ${L}
- mv ${AOUT} $A${EXE}
-
-clean::
- rm -f $O $A${EXE} tests/bed.tab
-
+include ${kentSrc}/inc/cgiLoader.mk