# ======================== # ===== =============== # ====== ================ # ====== ================ # ====== ==== ==== == # ====== === == = = # ====== === = == = # = === === = == ==== # = === === = == = = # == ===== ==== == # ======================== # # mpdview: Makefile # Thu, 14 Jul 2022 15:17:13 +0200 # Joe # # BSD Makefile default: all SRCS_DIR := src MAN_DIR := man PREFIX ?= /usr/local DESTDIR := MAKEOBJDIR := ./ SRCS := c_mpdview SRCS += c_mpd SRCS += c_view SRCS := ${SRCS:S/$/.c/g} SRCS := ${SRCS:S/^/${SRCS_DIR}\//g} OBJS := ${SRCS:=.o} # OBJS := ${OBJS:S/${SRCS_DIR}/${OBJS_DIR}/g} INCS := c_defines INCS := ${INCS:S/$/.h/g} INCS := ${INCS:S/^/${SRCS_DIR}\//g} INCS += ${SRCS:.c=.h} NAME := mpdview CC ?= cc CFLAGS := -std=gnu89 CFLAGS += -Wall CFLAGS += -Wextra CFLAGS += -Werror CFLAGS += -pedantic CFLAGS += -isystem/usr/local/include CFLAGS += -glldb CFLAGS += -O0 # CFLAGS += -march=ivybridge # CFLAGS += -O3 CFLAGS += -pipe # CFLAGS += -fsanitize=address LDFLAGS := -L/usr/local/lib LDFLAGS += -lmpdclient RM := rm -f MKDIR := mkdir -p SED := sed -i '' GZIP := gzip GUNZIP := gunzip INSTALL := install .OBJDIR: ./ .SUFFIXES: .c.o .o .c.c.o: ${INCS} ${CC} -c ${CFLAGS} -o ${.TARGET} ${.IMPSRC} ${NAME}: ${OBJS} ${CC} ${CFLAGS} -o ${.TARGET} ${.ALLSRC} ${LDFLAGS} all: ${OBJS} ${NAME} clean: ${RM} ${OBJS} ${NAME} vgcore* install: ${NAME} ${GZIP} ${MAN_DIR}/${NAME}.1 ${MKDIR} ${PREFIX}/man/man1 ${INSTALL} -m0444 ${MAN_DIR}/${NAME}.1.gz ${PREFIX}/man/man1/${NAME}.1.gz ${GUNZIP} ${MAN_DIR}/${NAME}.1.gz ${MKDIR} ${PREFIX}/bin ${INSTALL} -m0555 ${NAME} ${PREFIX}/bin/${NAME} uninstall: ${RM} ${PREFIX}/man/man1/${NAME}.1.gz ${RM} ${PREFIX}/bin/${NAME} .PHONY: all asan clean install # Files prefixes index # -------------------- # c_ -> core program related