1# metalock - enhanced screen locker 2# © 2012 Timothy Beyer 3# © 2006-2007 Anselm R. Garbe, Sander van Dijk 4 5include config.mk 6.include "../themes/${DEFAULT_THEME}/metadata.mk" 7 8.if ${USE_ULTRAGETOPT} == "yes" 9OPT_LIBS += -lultragetopt 10OPT_CPPFLAGS += -DULTRAGETOPT_REPLACE_GETOPT 11.endif 12 13.if ${USE_IMLIB2} == "yes" 14OPT_LIBS += -lImlib2 15OPT_CPPFLAGS += -DWITH_IMLIB2 16.endif 17 18.if ${USE_XFT} == "yes" 19OPT_LIBS += -lXft 20OPT_CPPFLAGS += -DWITH_XFT 21OPT_INCS += "-I${PREFIX}/include/freetype2" 22.endif 23 24# Linux probably needs this 25.if ${USE_SHADOW} == "yes" 26OPT_CPPFLAGS += -DWITH_SHADOW_H 27.endif 28 29# This variable does not apply to FreeBSD, it might to other BSDs, though. 30.if ${USE_BSD_AUTH} == "yes" 31OPT_CPPFLAGS += -DWITH_BSD_AUTH 32.endif 33 34# On OpenBSD and Darwin disable this, all others most likely need this enabled 35.if ${USE_CRYPT} == "yes" 36CRYPT= -lcrypt 37.endif 38 39# includes and libs 40INCS = -I. -I${X11INC} -I${PREFIX}/include ${OPT_INCS} -I${PREFIX}/include/X11 41LIBS = -lc ${CRYPT} -L${X11LIB} -L${PREFIX}/lib -lX11 -lXext -lXpm ${OPT_LIBS} 42 43# flags 44CPPFLAGS = -DVERSION=\"${VERSION}\" \ 45 -DPREFIX=\"${PREFIX}\" \ 46 -DEMAIL=\"${EMAIL}\" \ 47 -DDEFAULT_THEME=\"${DEFAULT_THEME}\" \ 48 ${OPT_CPPFLAGS} 49 50.if ${CC} == "clang" 51# -pedantic disabled because of annoying warnings 52CFLAGS = -Wall -Os ${INCS} ${CPPFLAGS} 53LDFLAGS = ${LIBS} 54.elif ${CC} == "gcc" 55# -pedantic disabled because of annoying warning: 56# Xfuncproto.h:134:24: warning: ISO C does not permit named variadic macros 57CFLAGS = -std=c99 -Wall -Os ${INCS} ${CPPFLAGS} 58LDFLAGS = -s ${LIBS} 59.else 60CFLAGS = -std=c99 -Wall -Os ${INCS} ${CPPFLAGS} 61LDFLAGS = -s ${LIBS} 62.endif 63 64SRC = main.c alloc.c args.c event_loop.c draw_fns.c helper_fns.c 65HDR = data.h alloc.h args.h event_loop.h draw_fns.h helper_fns.h 66OBJ = ${SRC:.c=.o} 67 68all: options build postclean 69 70options: 71 @echo metalock build options: 72 @echo "CFLAGS = ${CFLAGS}" 73 @echo "LDFLAGS = ${LDFLAGS}" 74 @echo "CC = ${CC}" 75 @echo "OBJ = ${OBJ}" 76 @echo 77 78.c.o: 79 @echo CC $< 80 @${CC} -c ${CFLAGS} $< 81 82${OBJ}: config.mk 83 84prebuild: 85 @echo building metalock 86 87postclean: 88 @echo "finished building metalock" 89 @echo 90 @rm -f ${OBJ} 91 92build: prebuild ${OBJ} 93 @echo CC -o $@ 94 @echo "Obj: ${OBJ}" 95 @${CC} -o metalock ${OBJ} ${LDFLAGS} 96 97clean: 98 @echo cleaning 99 @rm -f metalock ${OBJ} metalock-${VERSION}.tar.bz2 \ 100 metalock_theme-${theme_name}-${theme_version}.tar.bz2 101 102dist: clean 103 @echo "creating dist tarball metalock-${VERSION}" 104 @mkdir -p metalock-${VERSION} 105 @mkdir -p metalock-${VERSION}/src 106 @mkdir -p metalock-${VERSION}/themes 107 @mkdir -p ../themes 108 @cp -p ../LICENSE ../README metalock-${VERSION} 109 @cp -pR Makefile config.mk ${SRC} ${HDR} metalock-${VERSION}/src 110 @tar -cf metalock-${VERSION}.tar metalock-${VERSION} 111 @bzip2 metalock-${VERSION}.tar 112 @mv metalock-${VERSION}.tar.bz2 ../dist/ 113 @rm -rf metalock-${VERSION} 114 115dist-theme: clean 116 @echo -n "creating tarball for theme: " 117 @echo "metalock_theme-${theme_name}-${theme_version}" 118 @mkdir -p ../dist/ 119 @cd ../themes && \ 120 tar -cf \ 121 metalock_theme-${theme_name}-${theme_version}.tar ${theme_name} && \ 122 bzip2 metalock_theme-${theme_name}-${theme_version}.tar && \ 123 mv metalock_theme-${theme_name}-${theme_version}.tar.bz2 ../dist/ 124 125install: all 126 @echo installing metalock 127.if !exists(../themes/${DEFAULT_THEME}/metadata.mk) 128 @echo -n "error: missing ../themes/${DEFAULT_THEME}/metadata.mk " 129 @echo "(the default theme is missing)" 130.else 131 @echo installing executable file to ${DEST_PREFIX}/bin 132 @mkdir -p $(DESTDIR)${DEST_PREFIX}/bin 133 @cp -f metalock $(DESTDIR)${DEST_PREFIX}/bin 134 @chmod 755 $(DESTDIR)${DEST_PREFIX}/bin/metalock 135 @echo -n "installing theme to " 136 @echo "${DEST_PREFIX}/share/metalock/themes/${DEFAULT_THEME}" 137 @mkdir -p $(DESTDIR)${DEST_PREFIX}/share/metalock/themes 138 @cp -pRf ../themes/${DEFAULT_THEME} $(DESTDIR)${DEST_PREFIX}/share/metalock/themes 139 @chmod 644 $(DESTDIR)${DEST_PREFIX}/share/metalock/themes/${DEFAULT_THEME}/* 140 @echo "finished installing metalock" 141.endif 142 143uninstall: 144 @echo removing executable file from ${DEST_PREFIX}/bin 145 @rm -rf ${DEST_PREFIX}/share/metalock/themes/${DEFAULT_THEME} 146 @rmdir ${DEST_PREFIX}/share/metalock/themes 147 @rmdir ${DEST_PREFIX}/share/metalock 148 @rm -f ${DEST_PREFIX}/bin/metalock 149 150.PHONY: all options clean dist install uninstall 151