34770b218ef5c3100da392a3119a3b0d50d99bfb
markd
  Thu Feb 20 17:56:46 2025 -0800
Implement old make behavior were programs will be remade after a make clean removing the .o, even though actually program is not out of date with respect to the .c

diff --git src/hg/liftOver/makefile src/hg/liftOver/makefile
index cef3a7ee99c..986944d3ab3 100644
--- src/hg/liftOver/makefile
+++ src/hg/liftOver/makefile
@@ -1,5 +1,26 @@
 kentSrc = ../..
-A = liftOver liftOverMerge
+
+# recursive make uglyness (see userArp.mk)
+ifeq (${PROG},)
+PROGS = liftOver liftOverMerge
+
+default:: ${PROGS:%=%_default}
+%_default:
+	${MAKE} default PROG=$*
+compile:: ${PROGS:%=%_complie}
+%_compile:
+	${MAKE} compile PROG=$*
+clean:: ${PROGS:%=%_clean}
+%_clean::
+	${MAKE} clean PROG=$*
+install: ${PROGS:%=%_}
+%_install:
+	${MAKE} install PROG=$*
+test::
+	${MAKE} test PROG=testing
+else
+A = ${PROG}
 include ${kentSrc}/inc/userApp.mk
+endif