Generic Makefile: Difference between revisions

From genomewiki
Jump to navigationJump to search
(Use L +=)
No edit summary
 
Line 23: Line 23:
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.
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 {brackets} 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.
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]]
[[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.