TARGET=pcDESTDIR?=PREFIX?=/usr/localBIN=${DESTDIR}${PREFIX}/binMAN=${DESTDIR}${PREFIX}/share/man/man1CFLAGS?=-g -O2CFLAGS+=-Iinclude -Wall -Wno-missing-braces -Wno-parentheses -Wno-incompatible-pointer-typesLDFLAGS?= OBJS=\ libc/dofmt.o\ libc/fltfmt.o\ libc/fmt.o\ libc/fmtfd.o\ libc/fmtfdflush.o\ libc/fmtprint.o\ libc/fmtrune.o\ libc/fmtvprint.o\ libc/fprint.o\ libc/genrandom.o\ libc/mallocz.o\ libc/nan64.o\ libc/print.o\ libc/rune.o\ libc/sprint.o\ libc/strtod.o\ libc/sysfatal.o\ libc/u16.o\ libc/u32.o\ libc/u64.o\ libc/utflen.o\ libc/vfprint.o\ libc/vsnprint.o\ libmp/betomp.o\ libmp/mpadd.o\ libmp/mpaux.o\ libmp/mpcmp.o\ libmp/mpdigdiv.o\ libmp/mpdiv.o\ libmp/mpexp.o\ libmp/mpextendedgcd.o\ libmp/mpfmt.o\ libmp/mpleft.o\ libmp/mplogic.o\ libmp/mpmod.o\ libmp/mpmodop.o\ libmp/mpmul.o\ libmp/mpnrand.o\ libmp/mprand.o\ libmp/mpright.o\ libmp/mpsub.o\ libmp/mptobe.o\ libmp/mptober.o\ libmp/mptoi.o\ libmp/mptoui.o\ libmp/mptov.o\ libmp/mpvecadd.o\ libmp/mpveccmp.o\ libmp/mpvecdigmuladd.o\ libmp/mpvecsub.o\ libmp/mpvectscmp.o\ libmp/strtomp.o\ ${TARGET}.o\ .PHONY: all default install uninstall clean all: default default: ${TARGET} install: ${TARGET} install -d ${BIN} install -m 755 ${TARGET} ${BIN} install -d ${MAN} install -m 644 ${TARGET}.1 ${MAN} uninstall: rm -f ${BIN}/${TARGET} ${MAN}/${TARGET}.1 clean: rm -f ${TARGET} ${OBJS} ${TARGET}.c ${TARGET}: ${OBJS} ${CC} -o $@ ${OBJS} ${LDFLAGS} pc.c: pc.y yacc -o $@ $< .SUFFIXES: .c .o.c.o: ${CC} -o $@ -c $< ${CFLAGS}
TARGET=pc
DESTDIR?=
PREFIX?=/usr/local
BIN=${DESTDIR}${PREFIX}/bin
MAN=${DESTDIR}${PREFIX}/share/man/man1
CFLAGS?=-g -O2
CFLAGS+=-Iinclude -Wall -Wno-missing-braces -Wno-parentheses -Wno-incompatible-pointer-types
LDFLAGS?=
OBJS=\
libc/dofmt.o\
libc/fltfmt.o\
libc/fmt.o\
libc/fmtfd.o\
libc/fmtfdflush.o\
libc/fmtprint.o\
libc/fmtrune.o\
libc/fmtvprint.o\
libc/fprint.o\
libc/genrandom.o\
libc/mallocz.o\
libc/nan64.o\
libc/print.o\
libc/rune.o\
libc/sprint.o\
libc/strtod.o\
libc/sysfatal.o\
libc/u16.o\
libc/u32.o\
libc/u64.o\
libc/utflen.o\
libc/vfprint.o\
libc/vsnprint.o\
libmp/betomp.o\
libmp/mpadd.o\
libmp/mpaux.o\
libmp/mpcmp.o\
libmp/mpdigdiv.o\
libmp/mpdiv.o\
libmp/mpexp.o\
libmp/mpextendedgcd.o\
libmp/mpfmt.o\
libmp/mpleft.o\
libmp/mplogic.o\
libmp/mpmod.o\
libmp/mpmodop.o\
libmp/mpmul.o\
libmp/mpnrand.o\
libmp/mprand.o\
libmp/mpright.o\
libmp/mpsub.o\
libmp/mptobe.o\
libmp/mptober.o\
libmp/mptoi.o\
libmp/mptoui.o\
libmp/mptov.o\
libmp/mpvecadd.o\
libmp/mpveccmp.o\
libmp/mpvecdigmuladd.o\
libmp/mpvecsub.o\
libmp/mpvectscmp.o\
libmp/strtomp.o\
${TARGET}.o\
.PHONY: all default install uninstall clean
all: default
default: ${TARGET}
install: ${TARGET}
install -d ${BIN}
install -m 755 ${TARGET} ${BIN}
install -d ${MAN}
install -m 644 ${TARGET}.1 ${MAN}
uninstall:
rm -f ${BIN}/${TARGET} ${MAN}/${TARGET}.1
clean:
rm -f ${TARGET} ${OBJS} ${TARGET}.c
${TARGET}: ${OBJS}
${CC} -o $@ ${OBJS} ${LDFLAGS}
pc.c: pc.y
yacc -o $@ $<
.SUFFIXES: .c .o
.c.o:
${CC} -o $@ -c $< ${CFLAGS}