--- config.mk +++ config.mk @@ -4,39 +4,17 @@ # Customize below to fit your system # paths -PREFIX = /usr/local +PREFIX = /usr MANPREFIX = ${PREFIX}/share/man -CONF = /share/examples/echinus - -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib +CONF = /share/echinus/examples # includes and libs -INCS = -I. -I/usr/include -I${X11INC} `pkg-config --cflags xft` -LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 `pkg-config --libs xft` +INCS = -I. -I/usr/include `pkg-config --cflags x11 xft` +LIBS = -L/usr/lib -lc `pkg-config --libs x11 xft` # flags -CFLAGS = -Os ${INCS} -DVERSION=\"${VERSION}\" -DSYSCONFPATH=\"${PREFIX}/${CONF}\" -LDFLAGS = -s ${LIBS} -# debug flags -CFLAGS = -g3 -ggdb3 -std=c99 -pedantic -O0 ${INCS} -DVERSION=\"${VERSION}\" -DSYSCONFPATH=\"${PREFIX}/${CONF}\" -DDEBUG -LDFLAGS = -g3 -ggdb3 ${LIBS} - -# DEBUG: Show warnings (if any). Comment out to disable. -CFLAGS += -Wall -# mostly useless warnings -#CFLAGS += -Wall -W -Wcast-qual -Wshadow -Wwrite-strings -#CFLAGS += -Werror # Treat warnings as errors. -#CFLAGS += -save-temps # Keep precompiler output (great for debugging). +CPPFLAGS = -DVERSION=\"${VERSION}\" -DSYSCONFPATH=\"${PREFIX}/${CONF}\" # XRandr (multihead support). Comment out to disable. -CFLAGS += -DXRANDR=1 -LIBS += -lXrandr - -# Solaris -#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\" -#LDFLAGS = ${LIBS} -#CFLAGS += -xtarget=ultra - -# compiler and linker -#CC = cc +CPPFLAGS += -DXRANDR=1 +LIBS += `pkg-config --libs xrandr` --- Makefile +++ Makefile @@ -19,13 +19,13 @@ .c.o: @echo CC $< - @${CC} -c ${CFLAGS} $< + @${CC} ${CPPFLAGS} -c ${CFLAGS} ${INCS} $< ${OBJ}: config.mk echinus: ${OBJ} ${FILES} @echo CC -o $@ - @${CC} -o $@ ${OBJ} ${LDFLAGS} + @${CC} ${CFLAGS} ${LDFLAGS} -o $@ ${OBJ} ${LIBS} clean: @echo cleaning @@ -42,19 +42,15 @@ install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f echinus ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/echinus + @install -D -m 755 echinus ${DESTDIR}${PREFIX}/bin/echinus @echo installing configuration file and pixmaps to ${DESTDIR}${PREFIX}${CONF} - @mkdir -p ${DESTDIR}${PREFIX}${CONF} - @cp echinusrc ${DESTDIR}${PREFIX}${CONF} + @install -D -m 644 echinusrc ${DESTDIR}${PREFIX}${CONF}/echinusrc @cp ${PIXMAPS} ${DESTDIR}${PREFIX}${CONF} @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 @mkdir -p ${DESTDIR}${MANPREFIX}/man1 @sed "s/VERSION/${VERSION}/g;s|CONFDIR|${DESTDIR}${PREFIX}${CONF}|g" < echinus.1 > ${DESTDIR}${MANPREFIX}/man1/echinus.1 @echo installing README to ${DESTDIR}${PREFIX}/share/doc/echinus - @mkdir -p ${DESTDIR}${PREFIX}/share/doc/echinus - @sed "s|CONFDIR|${PREFIX}${CONF}|" < README > ${DESTDIR}${PREFIX}/share/doc/echinus/README + @sed -i -e "s|CONFDIR|${PREFIX}${CONF}|" README uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin