Generic Makefile: Difference between revisions
From genomewiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<pre> | <pre> | ||
include $ | include ${KENT}/src/inc/common.mk | ||
CFLAGS=-I ${KENT}/src/inc -I ${KENT}/src/hg/inc | CFLAGS=-I ${KENT}/src/inc -I ${KENT}/src/hg/inc | ||
L = -lm $ | L += -lm ${MYSQLLIBS} | ||
MYLIBDIR = $ | MYLIBDIR = ${KENT}/src/lib/${MACHTYPE} | ||
MYLIBS = $ | MYLIBS = ${MYLIBDIR}/jkhgap.a ${MYLIBDIR}/jkweb.a | ||
O = $ | O = ${PROG}.o ../lib/bedUtil.o | ||
$ | ${PROG}: $O ${MYLIBS} | ||
${CC} ${COPT} ${CFLAGS} -o $ | ${CC} ${COPT} ${CFLAGS} -o ${HOME}/bin/${MACHTYPE}/${PROG} $O ${MYLIBS} $L | ||
strip $ | strip ${HOME}/bin/${MACHTYPE}/${PROG} | ||
clean: | clean: | ||
Line 19: | Line 19: | ||
</pre> | </pre> | ||
Make sure that the four indented lines are | Make sure that the four indented lines are indented with tabs, otherwise the file will not work. | ||
See also: the <em>newProg</em> command in the kent source tree. It will generate not only a generic Makefile but also the generic structure of a kent source utility. | |||
Please note, it is convenient to use the {curlyBraces} instead of (parens) for variables, since the lines can then be cut and pasted into a command line when need be. They work the same way in a Makefile, but not on a command line. | |||
[[Category:Browser Development]] |
Latest revision as of 20:55, 20 November 2014
include ${KENT}/src/inc/common.mk CFLAGS=-I ${KENT}/src/inc -I ${KENT}/src/hg/inc L += -lm ${MYSQLLIBS} MYLIBDIR = ${KENT}/src/lib/${MACHTYPE} MYLIBS = ${MYLIBDIR}/jkhgap.a ${MYLIBDIR}/jkweb.a O = ${PROG}.o ../lib/bedUtil.o ${PROG}: $O ${MYLIBS} ${CC} ${COPT} ${CFLAGS} -o ${HOME}/bin/${MACHTYPE}/${PROG} $O ${MYLIBS} $L strip ${HOME}/bin/${MACHTYPE}/${PROG} clean: rm *.o rm core
Make sure that the four indented lines are indented with tabs, otherwise the file will not work.
See also: the newProg command in the kent source tree. It will generate not only a generic Makefile but also the generic structure of a kent source utility.
Please note, it is convenient to use the {curlyBraces} instead of (parens) for variables, since the lines can then be cut and pasted into a command line when need be. They work the same way in a Makefile, but not on a command line.