a7afade170
Make sure to explicitly clear memory that is used for password input. memset is often optimized out by the compiler. Brought to attention by the OpenBSD community, see: https://marc.info/?t=146989502600003&r=1&w=2 Thread subject: x11/slock: clear passwords with explicit_bzero Changes: - explicit_bzero.c import from libressl-portable. - Makefile: add COMPATSRC for compatibility src. - config.mk: add separate *BSD section in config.mk to simply uncomment it on these platforms.
62 lines
1.5 KiB
Makefile
62 lines
1.5 KiB
Makefile
# slock - simple screen locker
|
|
# See LICENSE file for copyright and license details.
|
|
|
|
include config.mk
|
|
|
|
SRC = slock.c ${COMPATSRC}
|
|
OBJ = ${SRC:.c=.o}
|
|
|
|
all: options slock
|
|
|
|
options:
|
|
@echo slock build options:
|
|
@echo "CFLAGS = ${CFLAGS}"
|
|
@echo "LDFLAGS = ${LDFLAGS}"
|
|
@echo "CC = ${CC}"
|
|
|
|
.c.o:
|
|
@echo CC $<
|
|
@${CC} -c ${CFLAGS} $<
|
|
|
|
${OBJ}: config.h config.mk
|
|
|
|
config.h:
|
|
@echo creating $@ from config.def.h
|
|
@cp config.def.h $@
|
|
|
|
slock: ${OBJ}
|
|
@echo CC -o $@
|
|
@${CC} -o $@ ${OBJ} ${LDFLAGS}
|
|
|
|
clean:
|
|
@echo cleaning
|
|
@rm -f slock ${OBJ} slock-${VERSION}.tar.gz
|
|
|
|
dist: clean
|
|
@echo creating dist tarball
|
|
@mkdir -p slock-${VERSION}
|
|
@cp -R LICENSE Makefile README config.def.h config.mk ${SRC} \
|
|
explicit_bzero.c slock.1 slock-${VERSION}
|
|
@tar -cf slock-${VERSION}.tar slock-${VERSION}
|
|
@gzip slock-${VERSION}.tar
|
|
@rm -rf slock-${VERSION}
|
|
|
|
install: all
|
|
@echo installing executable file to ${DESTDIR}${PREFIX}/bin
|
|
@mkdir -p ${DESTDIR}${PREFIX}/bin
|
|
@cp -f slock ${DESTDIR}${PREFIX}/bin
|
|
@chmod 755 ${DESTDIR}${PREFIX}/bin/slock
|
|
@chmod u+s ${DESTDIR}${PREFIX}/bin/slock
|
|
@echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
|
|
@mkdir -p ${DESTDIR}${MANPREFIX}/man1
|
|
@sed "s/VERSION/${VERSION}/g" <slock.1 >${DESTDIR}${MANPREFIX}/man1/slock.1
|
|
@chmod 644 ${DESTDIR}${MANPREFIX}/man1/slock.1
|
|
|
|
uninstall:
|
|
@echo removing executable file from ${DESTDIR}${PREFIX}/bin
|
|
@rm -f ${DESTDIR}${PREFIX}/bin/slock
|
|
@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
|
|
@rm -f ${DESTDIR}${MANPREFIX}/man1/slock.1
|
|
|
|
.PHONY: all options clean dist install uninstall
|