Makefile 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. # uClibc NPTL tests
  2. # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
  3. TESTS := tst-align tst-align2 tst-atfork1 tst-attr1 tst-attr2 tst-attr3 \
  4. tst-barrier1 tst-barrier2 tst-barrier3 tst-barrier4 tst-basic1 \
  5. tst-basic2 tst-basic3 tst-basic4 tst-basic5 tst-basic6 \
  6. tst-cancel1 tst-cancel2 tst-cancel3 tst-cancel6 tst-cancel7 \
  7. tst-cancel8 tst-cancel9 tst-cancel10 tst-cancel11 tst-cancel12 \
  8. tst-cancel13 tst-cancel14 tst-cancel15 tst-cancel16 \
  9. tst-cancel19 tst-cancel20 tst-cancel21 tst-cancel22 \
  10. tst-cleanup0 tst-cleanup1 tst-cleanup2 tst-cleanup3 \
  11. tst-cleanup4 tst-clock1 tst-clock2 tst-cond1 tst-cond2 \
  12. tst-cond3 tst-cond4 tst-cond5 tst-cond6 tst-cond7 tst-cond8 \
  13. tst-cond9 tst-cond10 tst-cond11 tst-cond12 tst-cond13 \
  14. tst-cond14 tst-cond15 tst-cond16 tst-cond17 tst-cond18 \
  15. tst-cond19 tst-cond20 tst-cond21 tst-detach1 tst-eintr1 \
  16. tst-eintr2 tst-eintr3 tst-eintr4 tst-eintr5 tst-exec2 tst-exec3 \
  17. tst-exec4 tst-exit1 tst-exit2 tst-exit3 tst-flock1 tst-flock2 \
  18. tst-fork1 tst-fork2 tst-fork3 tst-fork4 tst-initializers1 \
  19. tst-join1 tst-join2 tst-join3 tst-join4 tst-join5 tst-key1 \
  20. tst-key2 tst-key3 tst-key4 tst-kill1 tst-kill2 tst-kill3 \
  21. tst-kill4 tst-kill5 tst-kill6 tst-mutex1 tst-mutex2 tst-mutex3 \
  22. tst-mutex4 tst-mutex5 tst-mutex6 tst-mutex7 tst-mutex8 \
  23. tst-mutex9 tst-mutex5a tst-mutex7a tst-once1 tst-once2 \
  24. tst-once3 tst-once4 tst-popen1 tst-raise1 tst-rwlock1 \
  25. tst-rwlock2 tst-rwlock3 tst-rwlock4 tst-rwlock5 tst-rwlock6 \
  26. tst-rwlock7 tst-rwlock8 tst-rwlock9 tst-rwlock10 tst-rwlock11 \
  27. tst-rwlock12 tst-rwlock13 tst-rwlock14 tst-sched1 tst-sem1 \
  28. tst-sem2 tst-sem3 tst-sem4 tst-sem5 tst-sem6 tst-sem7 tst-sem8 \
  29. tst-sem9 tst-signal1 tst-signal2 tst-signal3 tst-signal4 \
  30. tst-signal5 tst-signal6 tst-spin1 tst-spin2 tst-spin3 \
  31. tst-stack1 tst-stack2 tst-stdio1 tst-stdio2 tst-sysconf \
  32. tst-tls1 tst-tls2 tst-tls3 tst-tls4 tst-tls5 tst-tsd1 tst-tsd2 \
  33. tst-tsd3 tst-tsd4 tst-tsd5 tst-umask1
  34. #
  35. # These are for the RT library and POSIX timers.
  36. #
  37. TESTS += tst-clock tst-clock_nanosleep tst-cpuclock1 tst-cpuclock2 \
  38. tst-cputimer1 tst-cputimer2 tst-cputimer3 tst-mqueue1 \
  39. tst-mqueue2 tst-mqueue3 tst-mqueue4 tst-mqueue5 tst-mqueue6 \
  40. tst-mqueue7 tst-mqueue8 tst-mqueue9 tst-timer2 tst-timer3 \
  41. tst-timer4 tst-timer5
  42. ifeq ($(UCLIBC_HAS_OBSOLETE_BSD_SIGNAL),)
  43. TESTS_DISABLED := tst-exec2 tst-exec3 tst-exec4
  44. endif
  45. include ../Test.mak
  46. TARGET_ARCH := $(strip $(subst ",, $(strip $(TARGET_ARCH))))
  47. PTDIR := $(top_builddir)libpthread/nptl
  48. EXTRA_CFLAGS := -DNOT_IN_libc=1 -D_LIBC -D__USE_GNU -std=gnu99 \
  49. -I$(PTDIR) -I$(PTDIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH) \
  50. -I$(PTDIR)/sysdeps/$(TARGET_ARCH) \
  51. -I$(PTDIR)/sysdeps/unix/sysv/linux \
  52. -I$(PTDIR)/sysdeps/pthread \
  53. -I$(PTDIR)/sysdeps/pthread/bits \
  54. -I$(PTDIR)/sysdeps/generic \
  55. -I$(top_builddir)ldso/include \
  56. -I$(top_builddir)ldso/ldso/$(TARGET_ARCH) \
  57. -include $(top_builddir)include/libc-symbols.h
  58. ifeq ($(TARGET_ARCH),i386)
  59. CFLAGS_tst-align.o := -malign-double -mpreferred-stack-boundary=4
  60. endif
  61. ifeq ($(TARGET_ARCH),i686)
  62. CFLAGS_tst-align.o := -malign-double -mpreferred-stack-boundary=4 -msse
  63. endif
  64. CFLAGS_tst-cleanup4aux.o := -W -Wall -sjh
  65. CFLAGS_tst-initializers1.o := -W -Wall -Werror
  66. CFLAGS_tst-tls3.o := tst-tls3mod.so
  67. CFLAGS_tst-tls4.o := tst-tls4moda.so tst-tls4modb.so
  68. CFLAGS_tst-tls5.o := tst-tls5mod.so
  69. CFLAGS_tst-tls3mod.so := -fPIC -DPIC -DSHARED -shared -DNOT_IN_libc
  70. CFLAGS_tst-tls4moda.so := -fPIC -DPIC -DSHARED -shared -DNOT_IN_libc
  71. CFLAGS_tst-tls4modb.so := -fPIC -DPIC -DSHARED -shared -DNOT_IN_libc
  72. CFLAGS_tst-tls5mod.so := -fPIC -DPIC -DSHARED -shared -DNOT_IN_libc
  73. CFLAGS_tst-tls5moda.so := -fPIC -DPIC -DSHARED -shared -DNOT_IN_libc
  74. CFLAGS_tst-tls5modb.so := -fPIC -DPIC -DSHARED -shared -DNOT_IN_libc
  75. CFLAGS_tst-tls5modc.so := -fPIC -DPIC -DSHARED -shared -DNOT_IN_libc
  76. CFLAGS_tst-tls5modd.so := -fPIC -DPIC -DSHARED -shared -DNOT_IN_libc
  77. CFLAGS_tst-tls5mode.so := -fPIC -DPIC -DSHARED -shared -DNOT_IN_libc
  78. CFLAGS_tst-tls5modf.so := -fPIC -DPIC -DSHARED -shared -DNOT_IN_libc
  79. EXTRA_LDFLAGS := -lpthread
  80. LDFLAGS_tst-cleanup4 := tst-cleanup4aux.o
  81. LDFLAGS_tst-clock2 := -lrt
  82. LDFLAGS_tst-cond11 := -lrt
  83. LDFLAGS_tst-cond19 := -lrt
  84. LDFLAGS_tst-rwlock14 := -lrt
  85. LDFLAGS_tst-tls3 := -ldl -rdynamic
  86. LDFLAGS_tst-tls4 := -ldl
  87. LDFLAGS_tst-tls5 := tst-tls5mod.so
  88. LDFLAGS_tst-clock := -lrt
  89. LDFLAGS_tst-clock_nanosleep := -lrt
  90. LDFLAGS_tst-cpuclock1 := -lrt
  91. LDFLAGS_tst-cpuclock2 := -lrt
  92. LDFLAGS_tst-cputimer1 := -lrt
  93. LDFLAGS_tst-cputimer2 := -lrt
  94. LDFLAGS_tst-cputimer3 := -lrt
  95. LDFLAGS_tst-mqueue1 := -lrt
  96. LDFLAGS_tst-mqueue2 := -lrt
  97. LDFLAGS_tst-mqueue3 := -lrt
  98. LDFLAGS_tst-mqueue4 := -lrt
  99. LDFLAGS_tst-mqueue5 := -lrt
  100. LDFLAGS_tst-mqueue6 := -lrt
  101. LDFLAGS_tst-mqueue7 := -lrt
  102. LDFLAGS_tst-mqueue8 := -lrt
  103. LDFLAGS_tst-mqueue9 := -lrt
  104. LDFLAGS_tst-timer2 := -lrt
  105. LDFLAGS_tst-timer3 := -lrt
  106. LDFLAGS_tst-timer4 := -lrt
  107. LDFLAGS_tst-timer5 := -lrt
  108. LDFLAGS_tst-tls3mod.so := -shared -static-libgcc
  109. LDFLAGS_tst-tls4moda.so := -shared -static-libgcc
  110. LDFLAGS_tst-tls4modb.so := -shared -static-libgcc
  111. LDFLAGS_tst-tls5mod.so := -shared -static-libgcc -Wl,-soname,tst-tls5mod.so
  112. LDFLAGS_tst-tls5moda.so := -shared -static-libgcc
  113. LDFLAGS_tst-tls5modb.so := -shared -static-libgcc
  114. LDFLAGS_tst-tls5modc.so := -shared -static-libgcc
  115. LDFLAGS_tst-tls5modd.so := -shared -static-libgcc
  116. LDFLAGS_tst-tls5mode.so := -shared -static-libgcc
  117. LDFLAGS_tst-tls5modf.so := -shared -static-libgcc
  118. #
  119. # Special case
  120. #
  121. tst-cleanup4aux.o:
  122. $(Q)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c tst-cleanup4aux.c -o $@
  123. tst-cleanup4: tst-cleanup4aux.o
  124. tst-tls3: tst-tls3mod.so
  125. tst-tls4: tst-tls4moda.so tst-tls4modb.so
  126. tst-tls5: tst-tls5mod.so tst-tls5moda.so tst-tls5modb.so \
  127. tst-tls5modc.so tst-tls5modd.so tst-tls5mode.so tst-tls5modf.so
  128. OPTS_tst-cancel7 = --command ./tst-cancel7
  129. OPTS_tst-mqueue7 = -- ./tst-mqueue7
  130. OPTS_tst-exec4 = ./tst-exec4
  131. RET_tst-clock2 := 1
  132. RET_tst-cputimer1 := 1
  133. RET_tst-cputimer2 := 1
  134. RET_tst-cputimer3 := 1
  135. WRAPPER := env LD_LIBRARY_PATH="$$PWD:.:$(LD_LIBRARY_PATH)" TIMEOUTFACTOR=100