Cmake is bloat and wmfs doesn't need a complex build system So now wmfs compile with a Makefile using gmake and pkg-config compilation options can be customised through confix.mk (dwm like) Remove doxygen config files (wmfs code doesn't use it, and nobody use doxygen with wmfs) Replace wmfsrc.in by wmfsrc (change @WMFS_TERM@ and use shell choice urxvt || xterm || ...) Remove generation of Changelog file (we can git log > Changelog before creating a dist package) Remove README from install process (this file don't need to be included in dist package) What's next before merging into master ? - provide a BSD Makefile - discuss if we use or not pkg-config (we can document common places to include directory and libs in config.mk) - compile out of tree
80 lines
1.6 KiB
Makefile
80 lines
1.6 KiB
Makefile
include config.mk
|
|
|
|
SRC= \
|
|
src/barwin.c \
|
|
src/client.c \
|
|
src/config.c \
|
|
src/draw.c \
|
|
src/event.c \
|
|
src/ewmh.c \
|
|
src/frame.c \
|
|
src/getinfo.c \
|
|
src/infobar.c \
|
|
src/init.c \
|
|
src/launcher.c \
|
|
src/layout.c \
|
|
src/menu.c \
|
|
src/mouse.c \
|
|
src/parse/api.c \
|
|
src/parse/parse.c \
|
|
src/screen.c \
|
|
src/status.c \
|
|
src/systray.c \
|
|
src/tag.c \
|
|
src/util.c \
|
|
src/viwmfs.c \
|
|
src/wmfs.c
|
|
|
|
OBJ = ${SRC:.c=.o}
|
|
|
|
ifneq ($(findstring xrandr, ${LIBS}),)
|
|
CFLAGS+= -DHAVE_XRANDR
|
|
endif
|
|
|
|
ifneq ($(findstring xinerama, ${LIBS}),)
|
|
CFLAGS+= -DHAVE_XINERAMA
|
|
endif
|
|
|
|
ifneq ($(findstring imlib2, ${LIBS}),)
|
|
CFLAGS+= -DHAVE_IMLIB2
|
|
endif
|
|
|
|
all: options wmfs
|
|
|
|
.c.o:
|
|
@echo CC $<
|
|
@${CC} -c ${CFLAGS} $< -o $@
|
|
|
|
options:
|
|
@echo wmfs compile with ${LIBS}
|
|
@echo - CFLAGS ${CFLAGS}
|
|
@echo - LDFLAGS ${LDFLAGS}
|
|
|
|
wmfs: ${OBJ}
|
|
@echo CC -o $@
|
|
@${CC} -o $@ ${OBJ} ${LDFLAGS}
|
|
|
|
clean:
|
|
@rm -f ${OBJ} wmfs
|
|
|
|
install: all
|
|
@echo installing executable file to ${DESTDIR}${PREFIX}/bin
|
|
@mkdir -p ${DESTDIR}${PREFIX}/bin
|
|
@install wmfs ${DESTDIR}${PREFIX}/bin
|
|
@echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
|
|
@mkdir -p ${DESTDIR}${MANPREFIX}/man1
|
|
@install -m 644 wmfs.1 ${DESTDIR}${MANPREFIX}/man1/
|
|
@echo installing xsession file to ${DESTDIR}${PREFIX}/share/xsessions
|
|
@install -m 644 wmfs.desktop ${DESTDIR}${PREFIX}/share/xsessions
|
|
|
|
uninstall:
|
|
@echo removing executable file from ${DESTDIR}${PREFIX}/bin
|
|
@rm -f ${DESTDIR}${PREFIX}/bin/wmfs
|
|
@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
|
|
@rm -f ${DESTDIR}${MANPREFIX}/man1/wmfs.1
|
|
@echo removing xsession file from ${DESTDIR}${PREFIX}/share/xsessions
|
|
@rm -f ${DESTDIR}${PREFIX}/share/xsessions/wmfs.desktop
|
|
|
|
|
|
.PHONY: all clean install uninstall
|