portability/Makefile

38 lines
803 B
Makefile
Raw Normal View History

2017-09-07 12:01:58 +10:00
VULKAN_DIR=modules/vulkan-docs/src
2017-09-07 11:34:41 +10:00
BINDING=target/vulkan.rs
NATIVE_DIR=target/native
TARGET=$(NATIVE_DIR)/test
OBJECTS=$(NATIVE_DIR)/test.o
LIBRARY=target/debug/libportability.a
2017-12-01 10:50:59 +11:00
CC=g++
2017-11-14 14:55:43 +11:00
CFLAGS=-ggdb -O0 -I$(VULKAN_DIR)
2017-09-07 12:01:58 +10:00
DEPS=
2017-11-07 13:57:32 +11:00
LDFLAGS=-lpthread -ldl -lm -lX11
2017-09-07 12:01:58 +10:00
2017-09-13 02:27:01 +10:00
.PHONY: all binding run
2017-09-07 11:34:41 +10:00
all: $(TARGET)
2017-09-13 02:27:01 +10:00
binding: $(BINDING)
2017-09-07 12:01:58 +10:00
$(BINDING): $(VULKAN_DIR)/vulkan/*.h
bindgen --no-layout-tests --rustfmt-bindings $(VULKAN_DIR)/vulkan/vulkan.h -o $(BINDING)
2017-12-01 10:50:59 +11:00
$(LIBRARY): src/*.rs Cargo.toml $(wildcard Cargo.lock)
cargo build
2017-09-07 11:34:41 +10:00
mkdir -p target/native
2017-12-01 10:50:59 +11:00
$(NATIVE_DIR)/%.o: native/%.cpp $(DEPS) Makefile
2017-09-07 11:34:41 +10:00
$(CC) -c -o $@ $< $(CFLAGS)
2017-11-07 13:57:32 +11:00
$(TARGET): $(LIBRARY) $(OBJECTS) Makefile
2017-12-01 10:50:59 +11:00
$(CC) -o $(TARGET) $(OBJECTS) $(LIBRARY) $(LDFLAGS)
2017-09-07 11:34:41 +10:00
run: $(TARGET)
$(TARGET)
clean:
2017-09-07 11:34:41 +10:00
rm -f $(OBJECTS) $(TARGET) $(BINDING)
cargo clean