Cleanup makefiles, add version to i3 -v and i3 startup
This commit is contained in:
27
Makefile
27
Makefile
@ -2,6 +2,8 @@ UNAME=$(shell uname)
|
||||
DEBUG=1
|
||||
INSTALL=install
|
||||
MAKE=make
|
||||
GIT_VERSION=$(shell git describe --tags --always)
|
||||
VERSION=$(shell git describe --tags --abbrev=0)
|
||||
|
||||
CFLAGS += -std=c99
|
||||
CFLAGS += -pipe
|
||||
@ -9,6 +11,7 @@ CFLAGS += -Wall
|
||||
CFLAGS += -Wunused
|
||||
CFLAGS += -Iinclude
|
||||
CFLAGS += -I/usr/local/include
|
||||
CFLAGS += -DI3_VERSION=\"${GIT_VERSION}\"
|
||||
|
||||
LDFLAGS += -lm
|
||||
LDFLAGS += -lxcb-wm
|
||||
@ -16,7 +19,9 @@ LDFLAGS += -lxcb-wm
|
||||
LDFLAGS += -lxcb-xinerama
|
||||
LDFLAGS += -lX11
|
||||
LDFLAGS += -L/usr/local/lib -L/usr/pkg/lib
|
||||
|
||||
ifeq ($(UNAME),NetBSD)
|
||||
# We need -idirafter instead of -I to prefer the system’s iconv over GNU libiconv
|
||||
CFLAGS += -idirafter /usr/pkg/include
|
||||
LDFLAGS += -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/pkg/lib
|
||||
endif
|
||||
@ -33,13 +38,23 @@ else
|
||||
CFLAGS += -O2
|
||||
endif
|
||||
|
||||
# Don’t print command lines which are run
|
||||
.SILENT:
|
||||
|
||||
# Always remake the following targets
|
||||
.PHONY: install clean dist distclean
|
||||
|
||||
# Depend on the object files of all source-files in src/*.c and on all header files
|
||||
FILES=$(patsubst %.c,%.o,$(wildcard src/*.c))
|
||||
HEADERS=$(wildcard include/*.h)
|
||||
|
||||
# Depend on the specific file (.c for each .o) and on all headers
|
||||
src/%.o: src/%.c ${HEADERS}
|
||||
echo "CC $<"
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
|
||||
all: ${FILES}
|
||||
echo "LINK i3"
|
||||
$(CC) -o i3 ${FILES} $(LDFLAGS)
|
||||
|
||||
install: all
|
||||
@ -48,8 +63,20 @@ install: all
|
||||
$(INSTALL) -m 0755 i3 $(DESTDIR)/usr/bin/
|
||||
test -e $(DESTDIR)/etc/i3/config || $(INSTALL) -m 0644 i3.config $(DESTDIR)/etc/i3/config
|
||||
|
||||
dist: clean
|
||||
[ ! -f i3-${VERSION} ] || rm -rf i3-${VERSION}
|
||||
[ ! -e i3-${VERSION}.tar.bz2 ] || rm i3-${VERSION}.tar.bz2
|
||||
mkdir i3-${VERSION}
|
||||
cp Makefile DEPENDS GOALS LICENSE PACKAGE-MAINTAINER TODO i3.config i3-${VERSION}
|
||||
cp -r src include docs man i3-${VERSION}
|
||||
tar cf i3-${VERSION}.tar i3-${VERSION}
|
||||
bzip2 -9 i3-${VERSION}.tar
|
||||
rm -rf i3-${VERSION}
|
||||
|
||||
clean:
|
||||
rm -f src/*.o
|
||||
$(MAKE) -C docs clean
|
||||
$(MAKE) -C man clean
|
||||
|
||||
distclean: clean
|
||||
rm -f i3
|
||||
|
Reference in New Issue
Block a user