diff --git a/.travis.yml b/.travis.yml index b9145dd9..e357a5c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,4 +13,3 @@ install: - cd - script: - cargo build -v - - make compile_demo diff --git a/Cargo.toml b/Cargo.toml index b0b9a9f7..28ecf77d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ name = "sdl2" version = "0.0.1" authors = [ "Tony Aldridge" ] -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" diff --git a/Makefile b/Makefile deleted file mode 100644 index d89e0cb2..00000000 --- a/Makefile +++ /dev/null @@ -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)' diff --git a/prebuild.sh b/prebuild.sh new file mode 100755 index 00000000..c8710864 --- /dev/null +++ b/prebuild.sh @@ -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}