Makefile 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. # This is GNU Makefile
  2. # BSD GNU
  3. # ${.TARGET} $@
  4. # ${.ALLSRC} $^
  5. # ${.IMPSRC} $<
  6. INCDIR ?= /usr/include
  7. INCDIR_I386 ?= ${INCDIR}/i386-linux-gnu
  8. PY = python2.7
  9. DEFS = clockspersec sigstksz defs-map defs-prot defs-sigmask nsig defs-signo defs-fpe defs-sa defs-errno namemax defs-fcntlo defs-basictypes defs-sc defs-clockid defs-wait defs-rlimit
  10. all: Libc.odc ${DEFS} strerrnocase.txt
  11. Libc.odc: Libc.txt
  12. ./txt2odc.py Libc.txt Libc.odc
  13. Libc.txt: Libc.txt.templ ${DEFS} libver osname machine custom fields-dirent fields-sigaction fields-siginfo fields-stack fields-stat fields-tm fields-ucontext fields-timespec
  14. ${PY} ./untempl.py Libc.txt.templ $@
  15. clockspersec:
  16. grep "define CLOCKS_PER_SEC" ${INCDIR_I386}/bits/time.h | awk '{print $$4}' | cut -d ')' -f 1 | tr -d '\n' > $@
  17. sigstksz:
  18. grep "define SIGSTKSZ" ${INCDIR}/asm-generic/signal.h | awk '{print $$3}' | tr -d '\n' > $@
  19. defs-map:
  20. ./dumpdefs.py 2 1 s ${INCDIR}/linux/mman.h | grep "MAP_" > $@
  21. ./dumpdefs.py 2 1 s ${INCDIR}/asm-generic/mman-common.h | grep "MAP_" >> $@
  22. echo " MAP_ANON* = MAP_ANONYMOUS;" >> $@
  23. defs-prot:
  24. ./dumpdefs.py 2 1 s ${INCDIR}/asm-generic/mman-common.h | grep "PROT_" > $@
  25. defs-sigmask:
  26. ./dumpdefs.py 2 2 i ${INCDIR}//asm-generic/signal-defs.h | grep "SIG_" | grep -v __sighandler_t > $@
  27. defs-signo:
  28. ./dumpdefs.py 2 1 i ${INCDIR}/asm-generic/signal.h | grep " SIG" > $@
  29. nsig:
  30. grep "#define _NSIG" ${INCDIR}/asm-generic/signal.h | head -1 | awk '{print $$3}' | tr -d '\n' > $@
  31. defs-fpe:
  32. ./dumpdefs.py 2 1 i ${INCDIR}/asm-generic/siginfo.h | grep " FPE_" | sed s'/__SI_FAULT|//' > $@
  33. defs-sa:
  34. ./dumpdefs.py 2 1 s ${INCDIR}/asm-generic/signal.h | grep " SA_" > $@
  35. defs-errno:
  36. ./dumpdefs.py 2 1 i ${INCDIR}/asm-generic/errno-base.h > $@
  37. ./dumpdefs.py 2 1 i ${INCDIR}/asm-generic/errno.h >> $@
  38. namemax:
  39. grep " NAME_MAX " ${INCDIR}/linux/limits.h | awk '{print $$3}' | tr -d '\n' > $@
  40. defs-fcntlo:
  41. ./dumpdefs.py 2 1 s ${INCDIR}/asm-generic/fcntl.h | grep " O_" > $@
  42. ./dumpdefs.py 2 2 s ${INCDIR}/asm-generic/fcntl.h | grep " O_" >> $@
  43. defs-basictypes: sizeofs
  44. ./sizeofs > $@
  45. defs-sc: scs
  46. ./scs > $@
  47. defs-clockid:
  48. ./dumpdefs.py 2 1 i ${INCDIR}/linux/time.h | grep CLOCK_ > $@
  49. defs-wait:
  50. grep "define WAIT_ANY" ${INCDIR_I386}/sys/wait.h | sed s'/(//' | sed s'/)//' | awk '{print " " $$3 "* = " $$4 ";"}' > $@
  51. ./dumpdefs.py 2 1 s ${INCDIR}/linux/wait.h | grep " WCONTINUED" >> $@
  52. ./dumpdefs.py 2 1 s ${INCDIR}/linux/wait.h | grep " WNOHANG" >> $@
  53. ./dumpdefs.py 2 1 s ${INCDIR}/linux/wait.h | grep " WUNTRACED" >> $@
  54. defs-rlimit:
  55. grep " RLIMIT_" ${INCDIR_I386}/bits/resource.h | cut -d',' -f 1 | awk '{print " " $$1 "* = " $$3 ";"}' > $@
  56. dumpstrerrno.c: defs-errno
  57. grep -v ERESTART $^ | grep -v EJUSTRETURN | ./mkdumpstrerrno.py > $@
  58. strerrnocase.txt: dumpstrerrno
  59. ./dumpstrerrno | ./mkstrerrnocase.py > $@
  60. scs: scs.c
  61. ${CC} -m32 scs.c -o $@
  62. sizeofs: sizeofs.c
  63. ${CC} -m32 sizeofs.c -o $@
  64. clean:
  65. rm -f ${DEFS} Libc.txt Libc.odc dumpstrerrno dumpstrerrno.c strerrnocase.txt sizeofs scs