# https://dataswamp.org/~incal/bad-el/src/Makefile el-files = bad-alpha.el \ bad-ascii.el \ bad-box.el \ bad-color.el \ bad-demo.el \ bad-draw.el \ bad-ecs.el \ bad.el \ bad-font.el \ bad-grad.el \ bad-mesh.el \ bad-mode.el \ bad-mouse.el \ bad-move.el \ bad-size.el \ bad-snake.el \ bad-studio.el \ bad-triangle.el \ bad-write.el \ luki-lisp.el elc-files = $(el-files:.el=.elc) nom = bad-sdl src = $(nom).c so = $(nom).so sdld = /usr/include sdlf = -D_REENTRANT -I /$(sdld)/libdrm -I $(sdld)/libdecor-0 -I $(sdld)/pipewire-0.3 -I $(sdld)/spa-0.2 sdll = -lSDL3 -lSDL3_image -lSDL3_ttf warn = -pedantic-errors -Wall -Wextra ccfl = -fPIC --shared --std=c11 $(warn) $(sdlf) comp = gcc $(ccfl) libs = -lGLEW -lGL $(sdll) -lssl -lcrypto all: $(so) $(elc-files) $(so): $(src) $(comp) $< -o $@ $(libs) clean: rm -f *.elc $(so) clear: make clean again: make clean make all %.elc: %.el \emacs -q -batch -L "." -f batch-byte-compile $< \emacs -q -batch -L "." -f batch-byte-compile $< \emacs -q -batch -L "." -f batch-native-compile $< snake: bad-snake.elc bad.elc bad-ascii.elc bad-box.elc bad-draw.elc bad-mode.elc bad-move.elc bad-write.elc luki-lisp.elc \emacs -q -l $< --eval '(setf debug-on-error t)' -f bad-snake 2> /dev/null 1> /dev/null studio: bad-studio.elc bad.elc bad-ascii.elc bad-box.elc bad-color.elc bad-draw.elc bad-font.elc bad-mode.elc bad-size.elc bad-triangle.elc bad-write.elc luki-lisp.elc \emacs -q -l $< --eval '(setf debug-on-error t)' -f bad-studio 2> /dev/null 1> /dev/null fps: bad-ecs.elc $(so) \emacs -q -l $< -f bad-fps -f kill-emacs 2> /dev/null 1> /dev/null minimal: bad-ecs.elc $(so) \emacs -q -l $< -f bad-minimal -f kill-emacs solar: bad-ecs.elc $(so) \emacs -q -l $< -f bad-solar -f kill-emacs 2> /dev/null 1> /dev/null glsl: bad-ecs.elc $(so) \emacs -q -l $< -f bad-glsl -f kill-emacs