Files
rtems/testsuites/libtests/POSIX/Makefile.am
Chris Johns 2afb22b7e1 Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step.  It
copied header files from arbitrary locations into the build tree.  The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

* The make preinstall step itself needs time and disk space.

* Errors in header files show up in the build tree copy.  This makes it
  hard for editors to open the right file to fix the error.

* There is no clear relationship between source and build tree header
  files.  This makes an audit of the build process difficult.

* The visibility of all header files in the build tree makes it
  difficult to enforce API barriers.  For example it is discouraged to
  use BSP-specifics in the cpukit.

* An introduction of a new build system is difficult.

* Include paths specified by the -B option are system headers.  This
  may suppress warnings.

* The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step.   All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc.  Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

* cpukit/include

* cpukit/score/cpu/@RTEMS_CPU@/include

* cpukit/libnetworking

The new BSP include directories are:

* bsps/include

* bsps/@RTEMS_CPU@/include

* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed.  The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.
2018-01-25 08:45:26 +01:00

150 lines
2.7 KiB
Makefile

CC = @CC@
check_PROGRAMS =
check_PROGRAMS += calloc
calloc_SOURCES = calloc.c
check_PROGRAMS += clock_gettime
clock_gettime_SOURCES = clock_gettime.c
check_PROGRAMS += close
close_SOURCES = close.c
check_PROGRAMS += dup2
dup2_SOURCES = dup2.c
check_PROGRAMS += fcntl
fcntl_SOURCES = fcntl.c
check_PROGRAMS += flockfile
flockfile_SOURCES = flockfile.c
check_PROGRAMS += fork
fork_SOURCES = fork.c
check_PROGRAMS += free
free_SOURCES = free.c
check_PROGRAMS += fstat
fstat_SOURCES = fstat.c
check_PROGRAMS += ftrylockfile
ftrylockfile_SOURCES = ftrylockfile.c
check_PROGRAMS += funlockfile
funlockfile_SOURCES = funlockfile.c
# FIXME: BSD-proprietary
# check_PROGRAMS += getdents
# getdents_SOURCES = getdents.c
check_PROGRAMS += getlogin
getlogin_SOURCES = getlogin.c
check_PROGRAMS += getpwnam
getpwnam_SOURCES = getpwnam.c
check_PROGRAMS += getpwuid
getpwuid_SOURCES = getpwuid.c
check_PROGRAMS += gettimeofday
gettimeofday_SOURCES = gettimeofday.c
check_PROGRAMS += getuid
getuid_SOURCES = getuid.c
# FIXME: BSD-proprietary
# check_PROGRAMS += issetugid
# issetugid_SOURCES = issetugid.c
check_PROGRAMS += htonl
htonl_SOURCES = htonl.c
check_PROGRAMS += iconv
iconv_SOURCES = iconv.c
check_PROGRAMS += iconv_close
iconv_close_SOURCES = iconv_close.c
check_PROGRAMS += iconv_open
iconv_open_SOURCES = iconv_open.c
check_PROGRAMS += lseek
lseek_SOURCES = lseek.c
check_PROGRAMS += longjmp
longjmp_SOURCES = longjmp.c
check_PROGRAMS += lstat
lstat_SOURCES = lstat.c
check_PROGRAMS += kill
kill_SOURCES = kill.c
check_PROGRAMS += malloc
malloc_SOURCES = malloc.c
check_PROGRAMS += nanosleep
nanosleep_SOURCES = nanosleep.c
check_PROGRAMS += open
open_SOURCES = open.c
check_PROGRAMS += pipe
pipe_SOURCES = pipe.c
check_PROGRAMS += posix_memalign
posix_memalign_SOURCES = posix_memalign.c
check_PROGRAMS += read
read_SOURCES = read.c
check_PROGRAMS += readv
readv_SOURCES = readv.c
check_PROGRAMS += realloc
realloc_SOURCES = realloc.c
check_PROGRAMS += setjmp
setjmp_SOURCES = setjmp.c
check_PROGRAMS += sigaddset
sigaddset_SOURCES = sigaddset.c
check_PROGRAMS += sigdelset
sigdelset_SOURCES = sigdelset.c
check_PROGRAMS += sigemptyset
sigemptyset_SOURCES = sigemptyset.c
check_PROGRAMS += sigfillset
sigfillset_SOURCES = sigfillset.c
check_PROGRAMS += sigismember
sigismember = sigismember.c
check_PROGRAMS += sigprocmask
sigprocmask_SOURCES = sigprocmask.c
check_PROGRAMS += stat
stat_SOURCES = stat.c
check_PROGRAMS += unlink
unlink_SOURCES = unlink.c
check_PROGRAMS += vfork
vfork_SOURCES = vfork.c
check_PROGRAMS += wait
wait_SOURCES = wait.c
check_PROGRAMS += waitpid
waitpid_SOURCES = waitpid.c
check_PROGRAMS += write
write_SOURCES = write.c
check_PROGRAMS += writev
writev_SOURCES = writev.c