make: Add config.mk to makefile, update targets

This commit is contained in:
Enno Tensing 2025-01-20 18:47:39 +01:00
parent 46ef0869bb
commit 3015ce5a3c
Signed by: tenno
GPG key ID: 95265603BD36E66C

View file

@ -1,12 +1,16 @@
# libsmu - simple markup # libsmu - simple markup
# (c) 2007, 2008 Enno Boland # (c) 2007, 2008 Enno Boland
include config.mk VERSION = 1.5
PREFIX ?= /usr/local
MANPREFIX ?= ${PREFIX}/share/man
CFLAGS += -DVERSION=\"${VERSION}\"
LDFLAGS ?=
CC ?= cc
SRC = smu.c SRC = smu.c
OBJ = ${SRC:.c=.o} OBJ = smu.o
all: options smu all: smu
options: options:
@echo smu build options: @echo smu build options:
@ -18,38 +22,32 @@ options:
@echo CC $< @echo CC $<
@${CC} -c ${CFLAGS} $< @${CC} -c ${CFLAGS} $<
${OBJ}: config.mk ${OBJ}: ${SRC}
smu: ${OBJ} smu: ${OBJ}
@echo LD $@ @echo LD $@
@${CC} -o $@ ${OBJ} ${LDFLAGS} @${CC} -o $@ ${OBJ} ${LDFLAGS}
clean: clean:
@echo cleaning rm -f smu ${OBJ} ${LIBOBJ} smu-${VERSION}.tar.gz
@rm -f smu ${OBJ} ${LIBOBJ} smu-${VERSION}.tar.gz
dist: clean dist: clean
@echo creating dist tarball mkdir -p smu-${VERSION}
@mkdir -p smu-${VERSION} cp -R LICENSE Makefile config.mk smu.1 ${SRC} smu-${VERSION}
@cp -R LICENSE Makefile config.mk smu.1 ${SRC} smu-${VERSION} tar -cf smu-${VERSION}.tar smu-${VERSION}
@tar -cf smu-${VERSION}.tar smu-${VERSION} gzip smu-${VERSION}.tar
@gzip smu-${VERSION}.tar rm -rf smu-${VERSION}
@rm -rf smu-${VERSION}
install: all install: all
@echo installing executable file to ${DESTDIR}${PREFIX}/bin mkdir -p ${DESTDIR}${PREFIX}/bin
@mkdir -p ${DESTDIR}${PREFIX}/bin cp -f smu ${DESTDIR}${PREFIX}/bin
@cp -f smu ${DESTDIR}${PREFIX}/bin chmod 755 ${DESTDIR}${PREFIX}/bin/smu
@chmod 755 ${DESTDIR}${PREFIX}/bin/smu mkdir -p ${DESTDIR}${MANPREFIX}/man1
@echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 sed "s/VERSION/${VERSION}/g" < smu.1 > ${DESTDIR}${MANPREFIX}/man1/smu.1
@mkdir -p ${DESTDIR}${MANPREFIX}/man1 chmod 644 ${DESTDIR}${MANPREFIX}/man1/smu.1
@sed "s/VERSION/${VERSION}/g" < smu.1 > ${DESTDIR}${MANPREFIX}/man1/smu.1
@chmod 644 ${DESTDIR}${MANPREFIX}/man1/smu.1
uninstall: uninstall:
@echo removing executable file from ${DESTDIR}${PREFIX}/bin rm -f ${DESTDIR}${PREFIX}/bin/smu
@rm -f ${DESTDIR}${PREFIX}/bin/smu rm -f ${DESTDIR}${MANPREFIX}/man1/smu.1
@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
@rm -f ${DESTDIR}${MANPREFIX}/man1/smu.1
.PHONY: all options clean dist install uninstall .PHONY: all options clean dist install uninstall