38 lines
629 B
Makefile
38 lines
629 B
Makefile
include config.mk
|
|
include tests/chad.mk
|
|
|
|
SRC.dir:=source
|
|
OBJ.dir:=obj
|
|
|
|
SRC:=$(shell find ${SRC.dir} -iname '*.c')
|
|
HDR:=$(shell find ${SRC.dir} -iname '*.h')
|
|
OBJ:=$(subst $(SRC.dir),$(OBJ.dir),$(SRC:.c=.o))
|
|
|
|
VPATH=${SRC.dir} ${OBJ.dir}
|
|
|
|
${OBJ.dir}/%.o: ${SRC.dir}/%.c
|
|
${COMPILE.c} $< -o $@
|
|
|
|
${TARGET}: ${HDR} ${OBJ.dir} | ${OBJ}
|
|
${LINK.c} $| -o $@
|
|
|
|
${SRC} ${HDR}:
|
|
|
|
${PREFIX} ${OBJ.dir}:
|
|
mkdir -p $@
|
|
|
|
install: ${PREFIX}
|
|
install -v -g ${USER} -o ${USER} -m 744 ${TARGET} ${PREFIX}/bin/
|
|
|
|
uninstall:
|
|
-rm ${PREFIX}/bin/${TARGET}
|
|
|
|
clean:
|
|
-rm ${OBJ} ${TARGET}
|
|
|
|
test: chad_test
|
|
|
|
.PHONY: test clean install
|
|
|
|
.DEFAULT_GOAL:=${TARGET}
|