add verbose build output

This commit is contained in:
Sebastian Ramacher 2011-08-31 16:04:55 +02:00
parent e5e265a2ca
commit 4caa398a27
4 changed files with 52 additions and 34 deletions

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
.depend/
*.o
*.do
config.h
zathura
zathura-debug

View File

@ -2,6 +2,7 @@
# zathura - user interface # zathura - user interface
include config.mk include config.mk
include common.mk
PROJECT = zathura PROJECT = zathura
SOURCE = zathura.c SOURCE = zathura.c
@ -19,12 +20,12 @@ options:
@echo "CC = ${CC}" @echo "CC = ${CC}"
%.o: %.c %.o: %.c
@echo CC $< $(ECHO) CC $<
@${CC} -c ${CFLAGS} -o $@ $< $(QUIET)${CC} -c ${CFLAGS} -o $@ $<
%.do: %.c %.do: %.c
@echo CC $< $(ECHO) CC $<
@${CC} -c ${CFLAGS} ${DFLAGS} -o $@ $< $(QUIET)${CC} -c ${CFLAGS} ${DFLAGS} -o $@ $<
${OBJECTS}: config.h config.mk ${OBJECTS}: config.h config.mk
${DOBJECTS}: config.h config.mk ${DOBJECTS}: config.h config.mk
@ -38,19 +39,19 @@ config.h: config.def.h
fi fi
${PROJECT}: ${OBJECTS} ${PROJECT}: ${OBJECTS}
@echo CC -o $@ $(ECHO) CC -o $@
@${CC} ${SFLAGS} ${LDFLAGS} -o $@ ${OBJECTS} ${LIBS} $(QUIET)${CC} ${SFLAGS} ${LDFLAGS} -o $@ ${OBJECTS} ${LIBS}
clean: clean:
@rm -rf ${PROJECT} ${OBJECTS} ${PROJECT}-${VERSION}.tar.gz \ $(QUIET)rm -rf ${PROJECT} ${OBJECTS} ${PROJECT}-${VERSION}.tar.gz \
${DOBJECTS} ${PROJECT}-debug ${DOBJECTS} ${PROJECT}-debug
distclean: clean distclean: clean
@rm -rf config.h $(QUIET)rm -rf config.h
${PROJECT}-debug: ${DOBJECTS} ${PROJECT}-debug: ${DOBJECTS}
@echo CC -o ${PROJECT}-debug $(ECHO) CC -o ${PROJECT}-debug
@${CC} ${LDFLAGS} -o ${PROJECT}-debug ${DOBJECTS} ${LIBS} $(QUIET)${CC} ${LDFLAGS} -o ${PROJECT}-debug ${DOBJECTS} ${LIBS}
debug: ${PROJECT}-debug debug: ${PROJECT}-debug
@ -62,36 +63,35 @@ gdb: debug
cgdb ${PROJECT}-debug cgdb ${PROJECT}-debug
dist: clean dist: clean
@mkdir -p ${PROJECT}-${VERSION} $(QUIET)mkdir -p ${PROJECT}-${VERSION}
@cp -R LICENSE Makefile config.mk config.def.h README \ $(QUIET)cp -R LICENSE Makefile config.mk config.def.h README \
${PROJECT}.desktop ${PROJECT}rc.5.rst \ ${PROJECT}.desktop ${PROJECT}rc.5.rst \
${PROJECT}.1 ${SOURCE} ${PROJECT}-${VERSION} ${PROJECT}.1 ${SOURCE} ${PROJECT}-${VERSION}
@tar -cf ${PROJECT}-${VERSION}.tar ${PROJECT}-${VERSION} $(QUIET)tar -cf ${PROJECT}-${VERSION}.tar ${PROJECT}-${VERSION}
@gzip ${PROJECT}-${VERSION}.tar $(QUIET)gzip ${PROJECT}-${VERSION}.tar
@rm -rf ${PROJECT}-${VERSION} $(QUIET)rm -rf ${PROJECT}-${VERSION}
install: all install: all
@echo installing executable file $(ECHO) installing executable file
@mkdir -p ${DESTDIR}${PREFIX}/bin $(QUIET)mkdir -p ${DESTDIR}${PREFIX}/bin
@cp -f ${PROJECT} ${DESTDIR}${PREFIX}/bin $(QUIET)install -m 755 ${PROJECT} ${DESTDIR}${PREFIX}/bin
@chmod 755 ${PROJECT} ${DESTDIR}${PREFIX}/bin/${PROJECT} $(ECHO) installing manual page
@echo installing manual page $(QUIET)mkdir -p ${DESTDIR}${MANPREFIX}/man1
@mkdir -p ${DESTDIR}${MANPREFIX}/man1 $(QUIET)sed "s/VERSION/${VERSION}/g" < ${PROJECT}.1 > ${DESTDIR}${MANPREFIX}/man1/${PROJECT}.1
@sed "s/VERSION/${VERSION}/g" < ${PROJECT}.1 > ${DESTDIR}${MANPREFIX}/man1/${PROJECT}.1 $(QUIET)if which rst2man > /dev/null ; then \
@if which rst2man > /dev/null ; then \
mkdir -p ${DESTDIR}${MANPREFIX}/man5 ; \ mkdir -p ${DESTDIR}${MANPREFIX}/man5 ; \
rst2man ${PROJECT}rc.5.rst > ${DESTDIR}${MANPREFIX}/man5/${PROJECT}rc.5 ; \ rst2man ${PROJECT}rc.5.rst > ${DESTDIR}${MANPREFIX}/man5/${PROJECT}rc.5 ; \
fi fi
@chmod 644 ${DESTDIR}${MANPREFIX}/man1/${PROJECT}.1 $(QUIET)chmod 644 ${DESTDIR}${MANPREFIX}/man1/${PROJECT}.1
@mkdir -p ${DESTDIR}${DESKTOPPREFIX} $(QUIET)mkdir -p ${DESTDIR}${DESKTOPPREFIX}
@echo installing desktop file $(ECHO) installing desktop file
@install -m 644 ${PROJECT}.desktop ${DESTDIR}${DESKTOPPREFIX} $(QUIET)install -m 644 ${PROJECT}.desktop ${DESTDIR}${DESKTOPPREFIX}
uninstall: uninstall:
@echo removing executable file $(ECHO) removing executable file
@rm -f ${DESTDIR}${PREFIX}/bin/${PROJECT} $(QUIET)rm -f ${DESTDIR}${PREFIX}/bin/${PROJECT}
@echo removing manual page $(ECHO) removing manual page
@rm -f ${DESTDIR}${MANPREFIX}/man1/${PROJECT}.1 $(QUIET)rm -f ${DESTDIR}${MANPREFIX}/man1/${PROJECT}.1
@rm -f ${DESTDIR}${MANPREFIX}/man5/${PROJECT}rc.5 $(QUIET)rm -f ${DESTDIR}${MANPREFIX}/man5/${PROJECT}rc.5
@echo removing desktop file $(ECHO) removing desktop file
@rm -f ${DESTDIR}${DESKTOPPREFIX}/${PROJECT}.desktop $(QUIET)rm -f ${DESTDIR}${DESKTOPPREFIX}/${PROJECT}.desktop

9
common.mk Normal file
View File

@ -0,0 +1,9 @@
# See LICENSE file for license and copyright information
ifeq "$(VERBOSE)" "0"
ECHO=@echo
QUIET=@
else
ECHO=@\#
QUIET=
endif

View File

@ -29,3 +29,6 @@ CC ?= gcc
# strip # strip
SFLAGS ?= -s SFLAGS ?= -s
# set to something != 0 to enable verbose build output
VERBOSE ?= 0