86 lines
2.5 KiB
Makefile
86 lines
2.5 KiB
Makefile
CC = cc
|
|
CFLAGS = -Wall -pipe -Og -g -march=native
|
|
|
|
USEXRANDR = 1
|
|
SHAREPATH = /usr/local/share/thornWM
|
|
DOCPATH = /usr/local/share/man
|
|
PROGPATH = /usr/local/bin
|
|
CONFPATH = /etc/xdg/thornWM
|
|
|
|
ifeq ($(USEXRANDR), 1)
|
|
XFLAGS+=-lXrandr
|
|
CFLAGS+=-DL_XRANDR
|
|
else
|
|
XFLAGS+=-lXinerama
|
|
endif
|
|
|
|
LUA_VERSION = 5.1
|
|
ifeq ($(LUA_VERSION), jit)
|
|
CFLAGS += `pkg-config --cflags luajit || echo -I/usr/include/lua{,5.1}`
|
|
else ifeq ($(LUA_VERSION), 5.1)
|
|
CFLAGS += `pkg-config --cflags lua5.1 --silence-errors`
|
|
else ifeq ($(LUA_VERSION), 5.2)
|
|
CFLAGS += `pkg-config --cflags lua5.2 --silence-errors`
|
|
else ifeq ($(LUA_VERSION), 5.3)
|
|
CFLAGS += `pkg-config --cflags lua5.3 --silence-errors`
|
|
else ifeq ($(LUA_VERSION), 5.4)
|
|
CFLAGS += `pkg-config --cflags lua5.4 --silence-errors`
|
|
else
|
|
$(error Invalid Lua version $(LUA_VERSION))
|
|
endif
|
|
|
|
all: libs docs
|
|
libs: lib/x.so lib/c.so
|
|
docs: docs/thornWM.x.3 docs/thornWM.c.3 docs/thornWM.async.3 docs/thornWM.ewmh.3 docs/thornWM.tree.3
|
|
install: installProgram installLibs installDocs
|
|
uninstall: uninstallProgram uninstallLibs uninstallDocs
|
|
.PHONY: all libs docs install uninstall installProgram installLibs installDocs uninstallProgram uninstallLibs uninstallDocs
|
|
|
|
|
|
# PROGRAM
|
|
installProgram:
|
|
mkdir -p $(PROGPATH) $(CONFPATH)
|
|
cp thornWM $(PROGPATH)/
|
|
cp config.lua $(CONFPATH)/
|
|
uninstallProgram:
|
|
rm -f $(PROGPATH)/thornWM $(CONFPATH)/config.lua
|
|
rmdir --ignore-fail-on-non-empty $(PROGPATH) $(CONFPATH)
|
|
|
|
# LIBS
|
|
lib/x.so: src/x.c src/common.h makefile
|
|
@echo $(CC) $< $@
|
|
@$(CC) $< -o $@ -lX11 $(CFLAGS) -shared -fPIC $(XFLAGS)
|
|
lib/c.so: src/c.c src/common.h makefile
|
|
@echo $(CC) $< $@
|
|
@$(CC) $< -o $@ $(CFLAGS) -shared -fPIC
|
|
|
|
installLibs: libs
|
|
mkdir -p $(SHAREPATH)/lib
|
|
cp lib/* $(SHAREPATH)/lib/
|
|
uninstallLibs:
|
|
rm -f $(SHAREPATH)/*.lua $(SHAREPATH)/*.so
|
|
rmdir --ignore-fail-on-non-empty $(SHAREPATH) $(SHAREPATH)/lib
|
|
|
|
|
|
# DOCS
|
|
docs/thornWM.%.3: src/%.c docs/genDocs
|
|
docs/genDocs $< $@
|
|
docs/thornWM.%.3: lib/%.lua docs/genDocs
|
|
docs/genDocs $< $@
|
|
docs/thornWM.%.3: lib/%/init.lua docs/genDocs
|
|
docs/genDocs $< $@
|
|
|
|
installDocs: docs
|
|
mkdir -p $(DOCPATH)/man{1,3}
|
|
cp docs/thornWM.1 $(DOCPATH)/man1/
|
|
cp docs/*.3 $(DOCPATH)/man3/
|
|
uninstallDocs:
|
|
rm -f $(DOCPATH)/man3/thornWM.x.3 $(DOCPATH)/man3/thornWM.async.3 $(DOCPATH)/man3/thornWM.c.3 \
|
|
$(DOCPATH)/man3/thornWM.ewmh.3 $(DOCPATH)/man3/thornWM.tree.3 $(DOCPATH)/man1/thornWM.1
|
|
rmdir --ignore-fail-on-non-empty $(DOCPATH)
|
|
|
|
|
|
clean:
|
|
rm -fv -- lib/*.so docs/*.3
|
|
|
|
.PHONY: all libs docs intsall installProgram installDocs installLibs clean
|