HEADERS_src_l1 := $(shell find src/l1 -type f -name '*.h') HEADERS_gen_l1 := $(shell find gen/l1 -type f -name '*.h') essence_gen_l1 HEADERS_src_l2 := $(shell find src/l2 -type f -name '*.h') HEADERS_gen_l2 := $(shell find gen/l2 -type f -name '*.h') essence_gen_l2 HEADERS_src_l3 := $(shell find src/l3 -type f -name '*.h') cflags := -Wall -Wextra -Werror=implicit-function-declaration -Werror=return-type --std=c99 -g -ggdb -O0 \ -fno-trapping-math -D_POSIX_C_SOURCE=200112L -D_GNU_SOURCE cc := gcc wl_protocols := $(shell pkg-config --variable=pkgdatadir wayland-protocols) out/l1/codegen: src/l1/codegen/codegen.c $(HEADERS_src_l1) mkdir -p out/l1 $(cc) $(cflags) -D PROTOTYPE1_L1_CODEGEN_BOOTSTRAP_USE_CHICKEN_VECU8 -o $@ $< .PHONY: essence_gen_l1 essence_gen_l1: out/l1/codegen mkdir -p gen cd gen && ../out/l1/codegen out/l1/t0: src/l1/tests/t0.c $(HEADERS_gen_l1) $(HEADERS_src_l1) mkdir -p out/l1 $(cc) $(cflags) -o $@ $< out/l1/t1: src/l1/tests/t1.c $(HEADERS_gen_l1) $(HEADERS_src_l1) mkdir -p out/l1 $(cc) $(cflags) -o $@ $< #out/l2/codegen_l2: src/l2/codegen/codegen.c $(HEADERS_src_l2) $(HEADERS_gen_l1) $(HEADERS_src_l1) # mkdir -p out/l2 # $(cc) $(cflags) -o $@ $< # #gen/l_wl_protocols/xdg-shell-client.h: $(wl_protocols)/stable/xdg-shell/xdg-shell.xml # mkdir -p gen/l_wl_protocols # wayland-scanner client-header $< $@ # #gen/l_wl_protocols/xdg-shell-private.c: $(wl_protocols)/stable/xdg-shell/xdg-shell.xml # mkdir -p gen/l_wl_protocols # wayland-scanner private-code $< $@ # # # #out/l2/r0: src/l2/tests/r0/r0.c $(HEADERS_gen_l2) $(HEADERS_src_l2) $(HEADERS_gen_l1) $(HEADERS_src_l1) # mkdir -p out/l2 # $(cc) $(cflags) -o $@ $< -lvulkan -lX11 -lm # #out/l2/r0: src/l2/tests/r0/r0_tex_init_prep.c $(HEADERS_gen_l2) $(HEADERS_src_l2) $(HEADERS_gen_l1) $(HEADERS_src_l1) # mkdir -p out/l2 # $(cc) $(cflags) -o $@ $< -lm # #out/l2/r1: src/l2/tests/r1/r1.c $(HEADERS_gen_l2) $(HEADERS_src_l2) $(HEADERS_gen_l1) $(HEADERS_src_l1) # mkdir -p out/l2 # $(cc) $(cflags) -o $@ $< gen/l_wl_protocols/xdg-shell-private.c -lwayland-client -lrt -lxkbcommon clean: rm -rf gen out .PHONY: clean