Use rustpkg (see #15). Make is still needed for codegen

This commit is contained in:
Jan Niklas Hasse
2013-12-09 20:09:25 +01:00
parent bd624459fa
commit aad67d1b3c
22 changed files with 26 additions and 19 deletions
+4
View File
@@ -1 +1,5 @@
.rust/
build/
bin/
lib/
src/generated
+18 -14
View File
@@ -1,9 +1,8 @@
RUSTC ?= rustc
RUSTFLAGS ?=
RUST_SRC = $(shell find src/. -type f -name '*.rs') \
src/generated/keycode.rs \
src/generated/scancode.rs
src/sdl2/generated/keycode.rs \
src/sdl2/generated/scancode.rs
.PHONY: all
all: libsdl2.dummy
@@ -28,24 +27,29 @@ ifeq ($(UNAME),Darwin)
endif
endif
src/codegen/codegen: $(wildcard src/codegen/*.rs)
$(RUSTC) $(RUSTFLAGS) $@.rs
bin/codegen: $(wildcard src/codegen/*.rs)
rustpkg install codegen $(RUSTFLAGS)
src/generated/%.rs: src/codegen/codegen
src/codegen/codegen $(patsubst src/generated/%,%,$@) src/generated/
src/sdl2/generated/%.rs: bin/codegen
bin/codegen $(patsubst src/sdl2/generated/%,%,$@) src/sdl2/generated/
libsdl2.dummy: src/sdl2.rc $(RUST_SRC)
$(RUSTC) $(RUSTFLAGS) $< -o $@
libsdl2.dummy: src/sdl2/lib.rs $(RUST_SRC)
rustpkg build sdl2 $(RUSTFLAGS)
touch $@
demos: demo/demo.rc demo/video.rs libsdl2.dummy
$(RUSTC) -L . $< -o $@
demos: src/demo/main.rs src/demo/video.rs libsdl2.dummy
rustpkg install demo
demo: demos
./demos
./bin/demo
.PHONY: clean
clean:
rm -f *.so *.dylib *.dll *.dummy demos src/codegen/codegen
rm -rf *.dSYM src/generated/ src/codegen/codegen.dSYM
rustpkg clean codegen
rustpkg uninstall codegen
rustpkg clean sdl2
rustpkg clean demo
rustpkg uninstall demo
rm -f *.dummy
rm -rf src/sdl2/generated
+2 -2
View File
@@ -30,12 +30,12 @@ Clone this repo run `make`. To see an example of the code in use, *make demos*.
To compile the demo:
> rustc -L$PWD/src demo/demo.rc
> rustpkg install demo
Then run:
> ./demo/demo
> ./bin/demo
Or you could instead just use
View File
View File
View File
+2 -3
View File
@@ -1,11 +1,11 @@
#[link(name = "sdl2",
package_id = "sdl2",
vers = "0.0.1",
uuid = "263e35b2-0727-11e3-b3dd-29219a890b3c",
url = "http://github.com/AngryLawyer/rust-sdl2")];
#[comment = "SDL2 bindings"];
#[desc = "SDL2 bindings"];
#[license = "MIT"];
#[crate_type = "lib"];
#[feature(globs)];
#[feature(link_args)];
@@ -31,4 +31,3 @@ pub mod timer;
pub mod render;
pub mod rwops;
pub mod sdl;
View File
View File
View File
View File
View File

Some files were not shown because too many files have changed in this diff Show More