From a440108cc540c3edcdf7aca953ea5ddb1cc6e8ab Mon Sep 17 00:00:00 2001 From: Jason Lowe-Power Date: Thu, 21 Sep 2017 20:43:30 -0500 Subject: [PATCH] tests: Add Makefiles for hello This adds Makefiles for hello for ARM and x86 by leveraging docker and dockcross. See https://github.com/dockcross/dockcross for more information. These Makefiles also allow for automatic uploading to the correct location for users to download when running the new tests. Change-Id: I7085000393cd5283502a7af362c85befda749181 Signed-off-by: Jason Lowe-Power Reviewed-on: https://gem5-review.googlesource.com/4883 --- tests/test-progs/hello/.gitignore | 10 ++++++++ tests/test-progs/hello/src/Makefile.arm | 26 +++++++++++++++++++++ tests/test-progs/hello/src/Makefile.x86 | 31 +++++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 tests/test-progs/hello/.gitignore create mode 100644 tests/test-progs/hello/src/Makefile.arm create mode 100644 tests/test-progs/hello/src/Makefile.x86 diff --git a/tests/test-progs/hello/.gitignore b/tests/test-progs/hello/.gitignore new file mode 100644 index 000000000..48c31c3f0 --- /dev/null +++ b/tests/test-progs/hello/.gitignore @@ -0,0 +1,10 @@ +bin/arm/linux/hello32-static +bin/arm/linux/hello64-static + +bin/x86/linux/hello32-static +bin/x86/linux/hello64-static +bin/x86/linux/hello64-dynamic + +src/dockcross* +src/*-dynamic +src/*-static diff --git a/tests/test-progs/hello/src/Makefile.arm b/tests/test-progs/hello/src/Makefile.arm new file mode 100644 index 000000000..2aad6f555 --- /dev/null +++ b/tests/test-progs/hello/src/Makefile.arm @@ -0,0 +1,26 @@ +SERVER_USER= +SERVER_PATH=/z/www/htdocs/dist/current/test-progs/hello/bin/arm/linux +FETCH_PATH=http://gem5.org/dist/current/test-progs/hello/bin/arm/linux +UPLOAD_LOCATION=$(SERVER_USER)daystrom.gem5.org:$(SERVER_PATH) + +all: hello64-static hello32-static + +upload: hello64-static hello32-static + scp hello64-static hello32-static $(UPLOAD_LOCATION) + +hello64-static: hello.c dockcross-arm64 + ./dockcross-arm64 bash -c '$$CC hello.c -o hello64-static -static' + +hello32-static: hello.c dockcross-armv7 + ./dockcross-armv7 bash -c '$$CC hello.c -o hello32-static -static' + +dockcross-arm64: + docker run --rm dockcross/linux-arm64 > ./dockcross-arm64 + chmod +x ./dockcross-arm64 + +dockcross-armv7: + docker run --rm dockcross/linux-armv7 > ./dockcross-armv7 + chmod +x ./dockcross-armv7 + +clean: + rm -f dockcross* hello64-static hello32-static diff --git a/tests/test-progs/hello/src/Makefile.x86 b/tests/test-progs/hello/src/Makefile.x86 new file mode 100644 index 000000000..3eff29145 --- /dev/null +++ b/tests/test-progs/hello/src/Makefile.x86 @@ -0,0 +1,31 @@ +SERVER_USER= +SERVER_PATH=/z/www/htdocs/dist/current/test-progs/hello/bin/x86/linux +FETCH_PATH=http://gem5.org/dist/current/test-progs/hello/bin/x86/linux + +UPLOAD_LOCATION=$(SERVER_USER)daystrom.gem5.org:$(SERVER_PATH) + +all: hello64-static hello64-dynamic hello32-static + + +upload: hello64-static hello64-dynamic hello32-static + scp hello64-static hello64-dynamic hello32-static $(UPLOAD_LOCATION) + +hello64-static: hello.c dockcross-x64 + ./dockcross-x64 bash -c '$$CC hello.c -o hello64-static -static' + +hello64-dynamic: hello.c dockcross-x64 + ./dockcross-x64 bash -c '$$CC hello.c -o hello64-dynamic' + +hello32-static: hello.c dockcross-x86 + ./dockcross-x86 bash -c '$$CC hello.c -o hello32-static -static' + +dockcross-x64: + docker run --rm dockcross/linux-x64 > ./dockcross-x64 + chmod +x ./dockcross-x64 + +dockcross-x86: + docker run --rm dockcross/linux-x86 > ./dockcross-x86 + chmod +x ./dockcross-x86 + +clean: + rm -f dockcross-* hello64-static hello64-dynamic hello32-static -- 2.30.2