# # basic Makefile # SHELL = /bin/sh BIN = /usr/bin LOCALBIN = /usr/local/bin CC = ${BIN}/gcc CPP = ${CC} -E CFLAGS = -O2 -ansi -pedantic -Wall -Wtraditional -Wshadow \ -Wpointer-arith -Wcast-qual -Wcast-align -Wmissing-prototypes \ -Wredundant-decls -Wnested-externs COMPILE = ${CC} ${CFLAGS} ${INCLUDES} # LD = ld LDFLAGS = CCLD = ${CC} LINK = ${CCLD} ${CFLAGS} ${LDFLAGS} ${LIBDIRS} ${LIBS} ${XLIBDIRS} ${XLIBS} LINT = ${BIN}/lint LINTFLAGS = -aa -bceghnprux # X11BASE = /usr/local/X11R6 # XLIBDIRS = -L${X11BASE}/lib # XLIBS = -lX11 LIBDIRS = LIBS = XLIBDIRS = XLIBS = MAKEFILE ?= Makefile SUBDIRS = INSTALL = ${BIN}/install -cds SED = ${BIN}/sed AWK = ${BIN}/awk TOUCH = ${BIN}/touch TAR = ${BIN}/tar GZIP = ${BIN}/gzip NROFF = ${BIN}/nroff AR = ${BIN}/ar RM = /bin/rm -f MV = /bin/mv CAT = /bin/cat # # make sure to modify SRCS, PROGRAM and INCLUDES as appropriate # SRCS = PROGRAM = prog INCLUDES = -I. OBJS = ${SRCS:.c=.o} .PHONY: all rebuild relink lint clean realclean touch depend all: ${PROGRAM} ${PROGRAM}: ${OBJS} ${FRCl} ${LINK} ${OBJS} -o $@ .c.o: ${COMPILE} -c $< rebuild: @ ${MAKE} ${PROGRAM} FRCb=force-rebuild ${OBJS}: ${FRCb} relink: @ ${MAKE} ${PROGRAM} FRCl=force-relink # # bogus targets to allow us to rebuild and relink, rebuilding can also # be done by doing a gmake touch all # force-relink: force-rebuild: lint: ${LINT} ${LINTFLAGS} ${INCLUDES} ${SRCS} clean: ${RM} ${OBJS} realclean: ${RM} ${OBJS} ${PROGRAM} touch: ${TOUCH} ${SRCS} depend: @ ${AWK} '/.*/ { print; if ($$0 ~ /^# DO NOT DELETE/) { print ""; exit } }' < ${MAKEFILE} > .makefile @ ${MV} .makefile ${MAKEFILE} @ if [ -x ${BIN}/gcc ]; then \ ${BIN}/gcc -M ${INCLUDES} ${SRCS} >> ${MAKEFILE} 2>/dev/null; \ elif [ -x ${LOCALBIN}/gcc ]; then \ ${LOCALBIN}/gcc -M ${INCLUDES} ${SRCS} >> ${MAKEFILE} 2>/dev/null; \ elif type gcc >/dev/null 2>&1; then \ gcc -M ${INCLUDES} ${SRCS} >> ${MAKEFILE} 2>/dev/null; \ elif [ -x ${BIN}/mkdep ]; then \ ${BIN}/mkdep -f .depend ${INCLUDES} ${SRCS} 2>/dev/null; \ ${CAT} .depend >> ${MAKEFILE}; \ ${RM} .depend; \ elif [ -x /usr/X11R6/bin/makedepend ]; then \ /usr/X11R6/bin/makedepend -f ${MAKEFILE} ${INCLUDES} ${SRCS} 2>/dev/null; \ elif [ -x /usr/local/X11R6/bin/makedepend ]; then \ /usr/local/X11R6/bin/makedepend -f ${MAKEFILE} ${INCLUDES} ${SRCS} 2>/dev/null; \ elif [ -x ${X11BASE}/bin/makedepend ]; then \ ${X11BASE}/bin/makedepend -f ${MAKEFILE} ${INCLUDES} ${SRCS} 2>/dev/null; \ elif type makedepend >/dev/null 2>&1; then \ makedepend -f ${MAKEFILE} ${INCLUDES} ${SRCS} 2>/dev/null; \ elif [ -x ${BIN}/cc ]; then \ if ${BIN}/cc -M ${INCLUDES} ${SRCS} > .${MAKEFILE} 2>/dev/null; then \ ${CAT} .${MAKEFILE} >> ${MAKEFILE}; \ ${RM} .${MAKEFILE}; \ fi; \ fi # DO NOT DELETE THIS LINE