summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorSuleyman Farajli <suleyman@farajli.net>2024-08-05 21:57:44 +0400
committerSuleyman Farajli <suleyman@farajli.net>2024-08-05 21:57:44 +0400
commitd59f97cc66de35dd9c8616136548d93cc1dd7f05 (patch)
tree4abb1443121764e20bb7f2e465048961d382543a /Makefile
parentec65333610b477e49d66be4e8c21fcc1139c70d2 (diff)
directory layout changed and Makefile updated
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile70
1 files changed, 44 insertions, 26 deletions
diff --git a/Makefile b/Makefile
index 458c524..818887c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,49 +1,63 @@
-# dmenu - dynamic menu
-# See LICENSE file for copyright and license details.
+# dmenu version
+VERSION = 5.3
-include config.mk
+# paths
+PREFIX = /usr/local
+MANPREFIX = $(PREFIX)/share/man
-SRC = drw.c dmenu.c stest.c util.c
-OBJ = $(SRC:.c=.o)
+X11INC = /usr/X11R6/include
+X11LIB = /usr/X11R6/lib
-all: dmenu stest
+# 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)
-.c.o:
- $(CC) -c $(CFLAGS) $<
+# compiler and linker
+CC = cc
-config.h:
- cp config.def.h $@
+SRC = src/dmenu.c src/drw.c src/stest.c src/util.c
+OBJ = $(patsubst src/%.c, %.o, $(SRC))
-$(OBJ): arg.h config.h config.mk drw.h
+all: dmenu stest
+
+%.o: src/%.c
+ ${CC} -c ${CFLAGS} $<
dmenu: dmenu.o drw.o util.o
- $(CC) -o $@ dmenu.o drw.o util.o $(LDFLAGS)
+ $(CC) -o $@ $^ $(LDFLAGS)
stest: stest.o
- $(CC) -o $@ stest.o $(LDFLAGS)
+ $(CC) -o $@ $^ $(LDFLAGS)
clean:
- rm -f dmenu stest $(OBJ) dmenu-$(VERSION).tar.gz
-
-dist: clean
- mkdir -p dmenu-$(VERSION)
- cp LICENSE Makefile README arg.h config.def.h config.mk dmenu.1\
- drw.h util.h dmenu_path dmenu_run stest.1 $(SRC)\
- dmenu-$(VERSION)
- tar -cf dmenu-$(VERSION).tar dmenu-$(VERSION)
- gzip dmenu-$(VERSION).tar
- rm -rf dmenu-$(VERSION)
+ rm -f dmenu stest $(OBJ)
install: all
mkdir -p $(DESTDIR)$(PREFIX)/bin
- cp -f dmenu dmenu_path dmenu_run stest $(DESTDIR)$(PREFIX)/bin
+ cp -f dmenu src/dmenu_path src/dmenu_run stest $(DESTDIR)$(PREFIX)/bin
chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu
chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_path
chmod 755 $(DESTDIR)$(PREFIX)/bin/dmenu_run
chmod 755 $(DESTDIR)$(PREFIX)/bin/stest
mkdir -p $(DESTDIR)$(MANPREFIX)/man1
- sed "s/VERSION/$(VERSION)/g" < dmenu.1 > $(DESTDIR)$(MANPREFIX)/man1/dmenu.1
- sed "s/VERSION/$(VERSION)/g" < stest.1 > $(DESTDIR)$(MANPREFIX)/man1/stest.1
+ sed "s/VERSION/$(VERSION)/g" < doc/dmenu.1 > $(DESTDIR)$(MANPREFIX)/man1/dmenu.1
+ sed "s/VERSION/$(VERSION)/g" < doc/stest.1 > $(DESTDIR)$(MANPREFIX)/man1/stest.1
chmod 644 $(DESTDIR)$(MANPREFIX)/man1/dmenu.1
chmod 644 $(DESTDIR)$(MANPREFIX)/man1/stest.1
@@ -56,3 +70,7 @@ uninstall:
$(DESTDIR)$(MANPREFIX)/man1/stest.1
.PHONY: all clean dist install uninstall
+
+dmenu.o: src/drw.h src/util.h src/config.h
+drw.o: src/drw.h src/util.h
+util.o: src/util.h