include makerules

# pass debug=yes for debugging symbols, and to disable
# stripping and optimization of all binaries

# to build project contained in their own directory, run 
# $ make (dir).proj

all: ctl conv xutil gen

xutil: xpriv safekill
  # X11 tools
gen: mkpw kpw rosshil
  # procedural generators
conv: ord
  # converters
ctl: nkvd.so bgrd
  # manipulating disobedient software

nkvd.so: nkvd.c
	$(CC) -fPIC -pie -shared $< -o$@ -Wl,-E -ldl $(nkvd-flags)

bgrd: bgrd.c
	$(cc) $< -lutil -o$@ $(cc-post)

safekill: safekill.c
	$(cc) $< -lX11 -o$@ $(cc-post)

xpriv: xpriv.c
	$(cc) $< -lrt -lutil -lX11 -o $@ $(cc-post)

kpw: kpw.d/makefile
	$(MAKE) root=$(realpath .) flags=$(kpw-flags) -C kpw.d $(realpath .)/$@

.PHONY: kpw
