minix/test/Makefile
Ben Gras 2fe8fb192f Full switch to clang/ELF. Drop ack. Simplify.
There is important information about booting non-ack images in
docs/UPDATING. ack/aout-format images can't be built any more, and
booting clang/ELF-format ones is a little different. Updating to the
new boot monitor is recommended.

Changes in this commit:

	. drop boot monitor -> allowing dropping ack support
	. facility to copy ELF boot files to /boot so that old boot monitor
	  can still boot fairly easily, see UPDATING
	. no more ack-format libraries -> single-case libraries
	. some cleanup of OBJECT_FMT, COMPILER_TYPE, etc cases
	. drop several ack toolchain commands, but not all support
	  commands (e.g. aal is gone but acksize is not yet).
	. a few libc files moved to netbsd libc dir
	. new /bin/date as minix date used code in libc/
	. test compile fix
	. harmonize includes
	. /usr/lib is no longer special: without ack, /usr/lib plays no
	  kind of special bootstrapping role any more and bootstrapping
	  is done exclusively through packages, so releases depend even
	  less on the state of the machine making them now.
	. rename nbsd_lib* to lib*
	. reduce mtree
2012-02-14 14:52:02 +01:00

134 lines
3 KiB
Makefile

# Makefile for the tests.
GCC?=gcc
CFLAGS= -O0 -D_MINIX -D_POSIX_SOURCE -g -Wall -Werror
CFLAGS+= -D_NETBSD_SOURCE -fno-builtin
LIBS+= -lm -lcompat_minix
CFLAGS-GCC= $(CFLAGS) -Wall -D_NETBSD_SOURCE
CFLAGS-GCCFPU= $(CFLAGS) -Wall -mhard-float
CFLAGS-GCCFPU= $(CFLAGS-GCC) -W -mhard-float
OBJ= test1 test2 test3 test4 test5 test6 test7 test8 test9 \
test10 test12 test13 test14 test15 test16 test17 test18 test19 \
test21 test22 test23 test25 test26 test27 test28 test29 \
test30 test31 test32 test34 test35 test36 test37 test38 \
test39 t10a t11a t11b test40 t40a t40b t40c t40d t40e t40f test41 \
test42 test45 test47 test49 test50 test51 test52 test53 \
test54 test58 t60a t60b
BIGOBJ= test20 test24
ROOTOBJ= test11 test33 test43 test44 test46 test56 test60 test61
GCCOBJ= test45-gcc test48 test49-gcc test55
GCCFPUOBJ= test51-gcc test52-gcc
OTHEROBJ= test57 test59
all: $(OBJ) $(BIGOBJ) $(GCCOBJ) $(GCCFPUOBJ) $(ROOTOBJ) $(OTHEROBJ) depend
chmod 755 *.sh run
$(OBJ):
$(CC) $(CFLAGS) -o $@ $@.c $(LIBS)
$(BIGOBJ):
$(CC) $(CFLAGS) -o $@ $@.c $(LIBS)
$(GCCOBJ):
if which $(GCC) >/dev/null 2>&1; then $(GCC) $(CFLAGS-GCC) -o $@ ${@:S/-gcc//}.c; fi
$(GCCFPUOBJ):
if which $(GCC) >/dev/null 2>&1; then $(GCC) $(CFLAGS-GCCFPU) -o $@ ${@:S/-gcc//}.c -lm; fi
$(ROOTOBJ):
$(CC) $(CFLAGS) $@.c $(LIBS)
@install -c -o root -m 4755 a.out $@
@rm a.out
depend: .gitignore
.gitignore: Makefile
echo $(OBJ) $(BIGOBJ) $(ROOTOBJ) $(GCCOBJ) $(GCCFPUOBJ) $(OTHEROBJ) | \
tr ' ' '\n' >.gitignore
clean:
$(MAKE) -C select clean
-rm -rf *.o *.s *.bak test? test?? test??-gcc t10a t11a t11b \
t40a t40b t40c t40d t40e t40f t43 \
t60a t60b \
DIR*
test1: test1.c
test2: test2.c
test3: test3.c
test4: test4.c
test5: test5.c
test6: test6.c
test7: test7.c
test8: test8.c
test9: test9.c
test10: test10.c
t10a: t10a.c
test11: test11.c
t11a: t11a.c
t11b: t11b.c
test12: test12.c
test13: test13.c
test14: test14.c
test15: test15.c
test16: test16.c
test17: test17.c
test18: test18.c
test19: test19.c
test20: test20.c
test21: test21.c
test22: test22.c
test23: test23.c
test24: test24.c
test25: test25.c
test26: test26.c
test27: test27.c
test28: test28.c
test29: test29.c
test30: test30.c
test31: test31.c
test32: test32.c
test33: test33.c
test34: test34.c
test35: test35.c
test36: test36.c
test37: test37.c
test38: test38.c
test39: test39.c
test40: test40.c
t40a: t40a.c
t40b: t40b.c
t40c: t40c.c
t40d: t40d.c
t40e: t40e.c
t40f: t40f.c
test41: test41.c
test42: test42.c
test43: test43.c
test44: test44.c
test45: test45.c test45.h
test45-gcc: test45.c test45.h
test46: test46.c
test47: test47.c
test48: test48.c
test49: test49.c
test49-gcc: test49.c
test50: test50.c
test51: test51.c
test51-gcc: test51.c
test52: test52.c
test52-gcc: test52.c
test54: test54.c
test55: test55.c
test56: test56.c
test57: test57.c test57loop.S
if which $(GCC) >/dev/null 2>&1; then $(GCC) $(CFLAGS-GCC) -o $@ test57.c test57loop.S; fi
test58: test58.c
test59: test59.c
$(CC) $(CFLAGS) -o $@ $@.c -lmthread
test60: test60.c
t60a: t60a.c
t60b: t60b.c
test61: test61.c