diff --git a/.gitignore b/.gitignore index dcb134768fd..da355b4f9c0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,10 @@ *~ +*# +*.o +*.so +*.dylib +*.dSYM +*.dll +*.dummy +servo-test Makefile -servo-test \ No newline at end of file diff --git a/Makefile.in b/Makefile.in index 750025c71b7..5b10f19a1e9 100644 --- a/Makefile.in +++ b/Makefile.in @@ -3,37 +3,87 @@ VPATH=%VPATH% RUSTC?=rustc RUSTFLAGS?= -RUSTFLAGS += -L src/rust-azure -L src/rust-sdl +UNAME=$(shell uname) + +ifeq ($(UNAME),Darwin) + OSTYPE=darwin +endif +ifeq ($(UNAME),Linux) + OSTYPE=linux +endif + +RUSTFLAGS += -L src/rust-azure -L src/rust-sdl -L src/rust-cocoa RUST_SRC=$(shell find $(VPATH)/src -type f -name '*.rs') +SERVO_DEPS = \ + src/servo/servo.rc \ + $(RUST_SRC) \ + $(NULL) +CHECK_DEPS = + +ifeq ($(OSTYPE),darwin) + SERVO_DEPS += src/rust-cocoa/libcocoa.dummy + # I want the cocoa check to come before the servo check since if cocoa + # doesn't work neither does servo + CHECK_DEPS += check-cocoa +endif + +SERVO_DEPS += \ + src/rust-azure/libazure.dummy \ + src/rust-sdl/libsdl.dummy \ + $(NULL) + +CHECK_DEPS += \ + check-sdl \ + check-azure \ + check-servo \ + $(NULL) + .PHONY: all all: servo -servo: \ - src/servo/servo.rc $(RUST_SRC) \ - src/rust-azure/libazure.dummy \ - src/rust-sdl/libsdl.dummy +servo: $(SERVO_DEPS) $(RUSTC) $(RUSTFLAGS) -o $@ $< -servo-test: \ - src/servo/servo.rc $(RUST_SRC) \ - src/rust-azure/libazure.dummy \ - src/rust-sdl/libsdl.dummy +servo-test: $(SERVO_DEPS) $(RUSTC) $(RUSTFLAGS) --test -o $@ $< +check: $(CHECK_DEPS) + +check-servo: servo-test + ./servo-test + +check-azure: src/rust-azure/azure-test + src/rust-azure/azure-test + +check-sdl: src/rust-sdl/sdl-test + src/rust-sdl/sdl-test + +check-cocoa: src/rust-cocoa/cocoa-test + src/rust-cocoa/cocoa-test + src/rust-azure/libazure.dummy: make -C src/rust-azure src/rust-sdl/libsdl.dummy: make -C src/rust-sdl +src/rust-cocoa/libcocoa.dummy: + make -C src/rust-cocoa + +src/rust-azure/azure-test: + make check -C src/rust-azure + +src/rust-sdl/sdl-test: + make check -C src/rust-sdl + +src/rust-cocoa/cocoa-test: + make check -C src/rust-cocoa + .PHONY: clean clean: make clean -C src/rust-azure make clean -C src/rust-sdl + make clean -C src/rust-cocoa rm -f servo servo-test - -.PHONY: test -test: servo-test - ./servo-test diff --git a/src/rust-azure b/src/rust-azure index ba501fe8d29..de140b2ae57 160000 --- a/src/rust-azure +++ b/src/rust-azure @@ -1 +1 @@ -Subproject commit ba501fe8d29e800c285171731088e1822869c655 +Subproject commit de140b2ae578de31734ad90c56d9f69f57bc6ed9 diff --git a/src/rust-cocoa b/src/rust-cocoa new file mode 160000 index 00000000000..da80902a003 --- /dev/null +++ b/src/rust-cocoa @@ -0,0 +1 @@ +Subproject commit da80902a003eb141eeb5c79621b87573338872c7 diff --git a/src/rust-sdl b/src/rust-sdl index c6587a967ff..640aceb8769 160000 --- a/src/rust-sdl +++ b/src/rust-sdl @@ -1 +1 @@ -Subproject commit c6587a967ff4fefbdd6b332a067ed3f402334122 +Subproject commit 640aceb8769be9bf0ba2442ba1693d32656d5eeb