minix/test/Makefile
Lionel Sambuc 0cdf705cc6 Enable optional GCC install and GCC improvements
-By adding MKGCC=yes and MKGCCCMDS=yes on the make commandline
   it is now possible to compile and install GCC on the system.

   Before doing this, if you are not using the build.sh script,
   you will need to call the fetch scripts in order to retrieve
   the sources of GCC and its dependencies.

 -Reduce difference with NetBSD share/mk

   Move Minix-specific parameters from bsd.gcc.mk to bsd.own.mk,
   which is anyway patched, so that bsd.gcc.mk is now aligned
   on the NetBSD version.

 -Clean libraries dependencies, compiles stdc++ only if gcc is
   also compiled (it is part of the gcc sources)

 -Correct minix.h header sequence, cleanup spec headers.

 -Fix cross-compilation from a 32bit host targeting MINIX/arm

Change-Id: I1b234af18eed4ab5675188244e931b2a2b7bd943
2013-07-12 14:22:03 +02:00

113 lines
2.7 KiB
Makefile

BINDIR?= /usr/tests/minix-posix
WARNS?= 1
# Tests have no manpages
MKMAN= no
# They are all bin-owned; by default normal executable mode
BINOWN= bin
CFLAGS+= -fno-builtin
LDADD+= -lm -lcompat_minix
.include <bsd.own.mk>
# Some have special flags compiling
.if ${MACHINE_ARCH} == "i386"
# LSC FIXME: Compilation error for now on ARM with that!
COPTS.test51.c= -mhard-float
COPTS.test52.c= -mhard-float
.endif
COPTS.test9.c= -O0
COPTS.test37.c= -O0
COPTS.test53.c= -O0
COPTS.test68.c= -O0
# Some have special libraries
LDADD.test59= -lmthread
# Some have an extra file
OBJS.test57= test57loop.o
# Cache testing programs
OBJS.test71+= testcache.o
OBJS.test72+= testcache.o
OBJS.test74+= testcache.o
LDADD.test72+= -lminixfs
PROGS += testvm
OBJS.testvm+= testcache.o
LDSTATIC.testvm= -static
LDADD.testvm+= -lsys -ltimers -lminlib
FILES += testvm.conf
# Tests to compile, For every architecture
MINIX_TESTS= \
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 \
41 42 43 44 45 46 48 49 50 52 53 54 55 56 58 59 60 \
61 64 65 66 67 68 69 70 71 72 73 74 75
.if ${MACHINE_ARCH} == "i386"
MINIX_TESTS+= \
47 51 57 \
62
.endif # ${MACHINE_ARCH} == "i386"
.if ${MACHINE_ARCH} == "earm"
# LSC Not yet supported on ARM
MKPIC:= no
LDSTATIC:= -static
.endif
.for t in ${MINIX_TESTS}
PROGS+= test${t}
.endfor
PROGS+= t10a t11a t11b t40a t40b t40c t40d t40e t40f t60a t60b \
t67a t67b t68a t68b
SCRIPTS+= run testinterp.sh testsh1.sh testsh2.sh
.if ${MKPIC} == "yes"
# Build them as dynamic executables by default if shared libraries
# are available; so that the building and executing of dynamic
# executables is tested
LDSTATIC= -dynamic
# use the shared linkerscript for mod when using the gold linker
GOLDLINKERSCRIPT.mod?= ${${HAVE_GOLD:Uno} != "no":? ${LDS_SHARED_LIB} :}
LDFLAGS.mod+= -shared # make shared object
# LSC FIXME: THe bitcode rules need to take into account LDFLAGS
LDADD.mod+= ${${USE_BITCODE:Uno} != "no":? -shared:}
# Files which have to be compiled with -fPIC
mod.o: mod.c
${COMPILE.c} -fPIC ${.IMPSRC}
common.o: common.c
${COMPILE.c} -fPIC ${.IMPSRC}
# test57loop.S is not linked into the .bcl file.
# This way, we can link it in when linking the final binary
LDADD.test57+= ${${USE_BITCODE:Uno} != "no":? test57loop.o -Wl,-allow-multiple-definition:}
# Add test that must be linked dynamically, and its dynamically loaded
# module
PROGS+= test63 mod
.endif # ${MKPIC} == "yes"
.for o in $(PROGS)
OBJS.${o} += common.o
.endfor
# LSC Make sure there is not leftover after a failed testrun
clean: .PHONY .MAKE
$(MAKE) -C select clean
rm -rf DIR*
.include <bsd.prog.mk>