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 <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/4883
This commit is contained in:
Jason Lowe-Power
2017-09-21 20:43:30 -05:00
parent bbb5302f34
commit a440108cc5
3 changed files with 67 additions and 0 deletions

10
tests/test-progs/hello/.gitignore vendored Normal file
View File

@@ -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

View File

@@ -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

View File

@@ -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