diff --git a/Makefile b/Makefile index d3c7345..a76fa57 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,21 @@ -CFLAGS = -Wall -Wextra -pedantic -lX11 -lXft -I/usr/include/freetype2 +include config.mk -PREFIX ?= /usr/local -CC ?= cc +SRC = popup.c +OBJ = $(SRC:.c=.o) -all: herbe +all: options popup -config.h: config.def.h - cp config.def.h config.h +options: + @echo popup build options: + @echo "CFLAGS = $(CFLAGS)" + @echo "LDFLAGS = $(LDFLAGS)" + @echo "CC = $(CC)" -herbe: popup.c config.h - $(CC) popup.c $(CFLAGS) -o popup +.c.o: + $(CC) -c $(CFLAGS) $< + +popup: popup.o + $(CC) -o $@ popup.o $(LDFLAGS) install: herbe mkdir -p ${DESTDIR}${PREFIX}/bin diff --git a/config.mk b/config.mk new file mode 100644 index 0000000..6f44cd3 --- /dev/null +++ b/config.mk @@ -0,0 +1,29 @@ +# paths +PREFIX = /usr/local +MANPREFIX = $(PREFIX)/share/man + +X11INC = /usr/X11R6/include +X11LIB = /usr/X11R6/lib + +# Xinerama, comment if you don't want it +XINERAMALIBS = -lXinerama +XINERAMAFLAGS = -DXINERAMA + +# freetype +FREETYPELIBS = -lfontconfig -lXft +FREETYPEINC = /usr/include/freetype2 +# OpenBSD (uncomment) +#FREETYPEINC = $(X11INC)/freetype2 +#MANPREFIX = ${PREFIX}/man + +# includes and libs +INCS = -I$(X11INC) -I$(FREETYPEINC) +LIBS = -L$(X11LIB) -lX11 $(XINERAMALIBS) $(FREETYPELIBS) + +# flags +CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -DVERSION=\"$(VERSION)\" $(XINERAMAFLAGS) +CFLAGS = -std=c99 -pedantic -Wall -Os $(INCS) $(CPPFLAGS) +LDFLAGS = $(LIBS) + +# compiler and linker +CC = cc