pawengine/Makefile

43 lines
924 B
Makefile
Raw Permalink Normal View History

2025-02-09 18:48:25 +01:00
PKG_CONFIG?=pkg-config
PKGS=wayland-client xkbcommon vulkan
CFLAGS+=$(shell $(PKG_CONFIG) --cflags $(PKGS))
LIBS=$(shell $(PKG_CONFIG) --libs $(PKGS))
LDFLAGS+=-lm -lglfw -rdynamic
FLAGS=-g $(CFLAGS) $(LDFLAGS) $(LIBS)
2025-04-04 18:52:45 +02:00
S=comp.c wayland.c glfw.c
2025-02-09 18:48:25 +01:00
S+=vulkan.c kitty.c
S+=string.c gpu_allocator.c hashmap.c util.c io.c matrix.c paw_da.c image.c types.c paw_allocator.c paw_log.c
S+=paw_object.c register.c
2025-02-25 18:07:03 +01:00
S+=Wayland/xdg-shell-protocol.c
2025-04-04 18:52:45 +02:00
S+=lang/ast.c lang/vstack.c lang/ast_disc.c lang/functable.c lang/glue.c
2025-02-09 18:48:25 +01:00
SO=$(addprefix build/,$(S:.c=.o))
2025-02-25 18:07:03 +01:00
SC=$(addprefix src/,$(S))
2025-02-09 18:48:25 +01:00
clean:
2025-02-25 18:07:03 +01:00
rm -rf build/
mkdir build
mkdir build/Wayland
2025-03-01 20:47:43 +01:00
mkdir build/lang
2025-02-09 18:48:25 +01:00
install:
./main
2025-02-25 18:07:03 +01:00
.c.o:
gcc $(FLAGS) -c -o $@ $<
2025-02-09 18:48:25 +01:00
build/%.o: %.c
gcc -c $(FLAGS) -o $@ $<
2025-02-25 18:07:03 +01:00
build/%.o: src/%.c
gcc -c $(FLAGS) -o $@ $<
2025-02-09 18:48:25 +01:00
2025-02-25 18:07:03 +01:00
main: $(SO)
2025-04-04 18:52:45 +02:00
gcc $(FLAGS) -o $@ main.c $(SO)
parser: $(SO)
gcc $(FLAGS) -o $@ src/lang/parser.c $(SO)
2025-02-09 18:48:25 +01:00
.DEFAULT_GOAL=main
.PHONY: clean