The use of wildcards in Makefiles for targets is undesirable for tests.
For example, if a file is deleted accidentally, Make doesn't detect it.
What needs to be build should be explicit.
This patch replaces the use of wildcards in tests' Makefiles with
explicitly listed executables.
Plain wildcards `*` in .gitignore are considered a bad practice
because they may cause unintended ignore of files. This commit
replaces `*` with explicit lists of file names.
The goal of `$(SYS)` check in Makefiles is to skip all targets on
unsupported systems. This commit defines a default goal `all` as
a no-op for simplicity.
For clarity, rename {CFLAGS, CXXFLAGS, LDFLAGS}-debug to
{CFLAGS, CXXFLAGS, LDFLAGS}-libos-debug.
Also related clean up of LibOS/shim/test/inline/Makefile.
LibOS/shim/test/Makefile has confusion. It's makefile for test/ directory
and common functions for each test directory.
As a first step to untangle the confusion, copy Makefile.Test for
common functions and have test directories to use it.
Later once grapene-tests is updated, LibOS/shim/test/Makefile
will have only submake rules.
.packed directories are originally created for testing on non-Linux platforms. The usage is mostly obsolete right now, and the binaries are completely out-dated. A better strategy would be to create a hook in the github to release binary packages.
Release of Graphene SGX:
Supporting native Linux application in Intel SGX enclaves.
Most applications are supported. Some features may still be buggy.
Improving portability of Graphene:
Eliminating GCC-ism of the host-generic code.
Easier to port to non-Posix platform (e.g., Windows without Cygwin).
- Bugfixes in PAL and SHIM
- Improvement of migration scheme in SHIM, which largely speed up
forking
- Upgrade glibc to 2.19
- FreeBSD port
- Support OpenJDK, python and R
Plenty of bugfixes for Linux kernel later than 3.5 and Ubuntu later than 10.10.
More organized code to improve portability.
Regression tests for Pal to test completeness of implementation.