mirror of
https://github.com/encounter/rust-sdl2.git
synced 2026-07-10 21:18:41 -07:00
Merge pull request #169 from jdeseno/codegen-prebuild
Run codegen script outside of make
This commit is contained in:
@@ -13,4 +13,3 @@ install:
|
||||
- cd -
|
||||
script:
|
||||
- cargo build -v
|
||||
- make compile_demo
|
||||
|
||||
+1
-4
@@ -3,7 +3,7 @@
|
||||
name = "sdl2"
|
||||
version = "0.0.1"
|
||||
authors = [ "Tony Aldridge<zaragopha@hotmail.com>" ]
|
||||
build = "make src/sdl2/generated/keycode.rs src/sdl2/generated/scancode.rs"
|
||||
build = "./prebuild.sh"
|
||||
|
||||
[lib]
|
||||
|
||||
@@ -15,6 +15,3 @@ path = "src/sdl2/lib.rs"
|
||||
name = "demo"
|
||||
path = "src/demo/main.rs"
|
||||
|
||||
[dev-dependencies.codegen]
|
||||
|
||||
path = "src/codegen"
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
RUSTC ?= rustc
|
||||
RUSTFLAGS ?=
|
||||
OUTDIR ?= ./build
|
||||
CARGODIR ?= ./target
|
||||
|
||||
BINDIR = $(OUTDIR)/bin
|
||||
LIBDIR = $(OUTDIR)/lib
|
||||
TMPDIR = $(OUTDIR)/tmp
|
||||
|
||||
RUST_SRC = $(shell find src/. -type f -name '*.rs') \
|
||||
src/sdl2/generated/keycode.rs \
|
||||
src/sdl2/generated/scancode.rs
|
||||
|
||||
.PHONY: all gen-lib
|
||||
all: $(TMPDIR)/libsdl2.dummy
|
||||
|
||||
UNAME=$(shell uname)
|
||||
|
||||
ifeq ($(UNAME),Darwin)
|
||||
# If the user wasn't explicit, see if SDL2 library exists
|
||||
ifeq ("$(strip $(SDL_MODE))","")
|
||||
SDL_CHECK=$(shell pkg-config --exists sdl2 && echo $$?)
|
||||
ifeq ($(SDL_CHECK),0)
|
||||
SDL_MODE = dylib
|
||||
else
|
||||
SDL_MODE = framework
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(SDL_MODE),framework)
|
||||
RUSTFLAGS+=--cfg mac_framework
|
||||
else
|
||||
RUSTFLAGS+=--cfg mac_dylib
|
||||
endif
|
||||
endif
|
||||
|
||||
$(BINDIR) $(LIBDIR) $(TMPDIR):
|
||||
mkdir -p '$@'
|
||||
|
||||
$(TMPDIR)/codegen: $(wildcard src/codegen/*.rs) $(TMPDIR)
|
||||
$(RUSTC) -o '$(TMPDIR)/codegen' src/codegen/main.rs $(RUSTFLAGS)
|
||||
|
||||
src/sdl2/generated/%.rs: $(TMPDIR)/codegen
|
||||
'$(TMPDIR)/codegen' $(patsubst src/sdl2/generated/%,%,$@) src/sdl2/generated/
|
||||
|
||||
gen-lib: src/sdl2/lib.rs $(RUST_SRC) $(LIBDIR) $(TMPDIR)
|
||||
$(RUSTC) --out-dir '$(LIBDIR)' src/sdl2/lib.rs $(RUSTFLAGS)
|
||||
|
||||
$(TMPDIR)/libsdl2.dummy: src/sdl2/lib.rs $(RUST_SRC) $(LIBDIR) $(TMPDIR)
|
||||
$(RUSTC) --out-dir '$(LIBDIR)' src/sdl2/lib.rs $(RUSTFLAGS)
|
||||
touch $@
|
||||
|
||||
compile_demo: src/demo/main.rs src/demo/video.rs $(TMPDIR)/libsdl2.dummy $(BINDIR)
|
||||
$(RUSTC) -o '$(BINDIR)/demo' -L '$(LIBDIR)' src/demo/main.rs
|
||||
|
||||
demo: compile_demo
|
||||
'$(BINDIR)/demo'
|
||||
|
||||
.PHONY: cargo
|
||||
cargo:
|
||||
cargo build
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf src/sdl2/generated
|
||||
rm -rf '$(OUTDIR)'
|
||||
rm -rf '$(CARGODIR)'
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
codegen=src/codegen/target/codegen
|
||||
src_dir=src/sdl2/generated
|
||||
|
||||
cargo build --manifest-path src/codegen/Cargo.toml
|
||||
mkdir -p ${src_dir}
|
||||
${codegen} keycode.rs ${src_dir}
|
||||
${codegen} scancode.rs ${src_dir}
|
||||
Reference in New Issue
Block a user