Makefile.fpc 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #
  2. # Makefile.fpc for Free Pascal units, which participates in the tests
  3. #
  4. [target]
  5. [install]
  6. fpcpackage=y
  7. [clean]
  8. units = erroru popuperr ptest
  9. [compiler]
  10. targetdir=$(TARGETSUFFIX)
  11. [default]
  12. fpcdir=../..
  13. [rules]
  14. .PHONY: rtl extra fpcunit packages all clean cleanrtl clean_ctest
  15. #############################
  16. # RTL
  17. #
  18. DUMMYINSTALLDIR=$(BASEDIR)/tmp
  19. INSTALLOPT=INSTALL_PREFIX=$(DUMMYINSTALLDIR) INSTALL_UNITDIR=$(BASEDIR)/$(COMPILER_TARGETDIR)
  20. rtl-stamp.$(FULL_TARGET):
  21. $(MAKE) -C ../../rtl all 'OPT=$(OPT) -n'
  22. $(MAKE) -C ../../rtl install $(INSTALLOPT)
  23. $(ECHO) Compiled > rtl-stamp.$(FULL_TARGET)
  24. cleanrtl:
  25. $(DELTREE) $(COMPILER_TARGETDIR)
  26. $(DELTREE) $(DUMMYINSTALLDIR)
  27. -$(DEL) rtl-stamp.$(FULL_TARGET)
  28. rtl : rtl-stamp.$(FULL_TARGET)
  29. #############################
  30. # FPCUnit
  31. #
  32. DUMMYINSTALLDIR=$(BASEDIR)/tmp
  33. INSTALLOPT=INSTALL_PREFIX=$(DUMMYINSTALLDIR) INSTALL_UNITDIR=$(BASEDIR)/$(COMPILER_TARGETDIR)
  34. FPCUNITDIR=../../packages/fcl-fpcunit/src
  35. fpcunit-stamp.$(FULL_TARGET):
  36. $(TESTCOMPILER) -Fu$(BASEDIR)/$(COMPILER_TARGETDIR) $(FPCUNITDIR)/testutils
  37. $(TESTCOMPILER) -Fu$(BASEDIR)/$(COMPILER_TARGETDIR) $(FPCUNITDIR)/fpcunit
  38. $(ECHO) Compiled > fpcunit-stamp.$(FULL_TARGET)
  39. cleanfpcunit:
  40. $(DELTREE) $(COMPILER_TARGETDIR)
  41. $(DELTREE) $(DUMMYINSTALLDIR)
  42. -$(DEL) fpcunit-stamp.$(FULL_TARGET)
  43. fpcunit : fpcunit-stamp.$(FULL_TARGET)
  44. #############################
  45. # Packages
  46. #
  47. DUMMYINSTALLDIR=$(BASEDIR)/tmp
  48. INSTALLOPT=INSTALL_PREFIX=$(DUMMYINSTALLDIR) INSTALL_UNITDIR=$(BASEDIR)/$(COMPILER_TARGETDIR)
  49. PACKAGESDIR=../../packages
  50. packages-stamp.$(FULL_TARGET):
  51. $(MAKE) -C ../../packages all 'OPT=$(OPT) -n'
  52. $(MAKE) -C ../../packages install $(INSTALLOPT)
  53. $(ECHO) Compiled > packages-stamp.$(FULL_TARGET)
  54. cleanpackages:
  55. $(DELTREE) $(COMPILER_TARGETDIR)
  56. $(DELTREE) $(DUMMYINSTALLDIR)
  57. -$(DEL) packages-stamp.$(FULL_TARGET)
  58. packages : packages-stamp.$(FULL_TARGET)
  59. #############################
  60. # Extra units
  61. #
  62. TESTOPT=-n -FE$(COMPILER_TARGETDIR) -T$(OS_TARGET) $(OPT)
  63. ifeq ($(CPU_TARGET),armeb)
  64. override TESTOPT+=-Cb
  65. endif
  66. ifneq ($(BINUTILSPREFIX),)
  67. override TESTOPT+=-XP$(BINUTILSPREFIX) -Xc
  68. endif
  69. TESTCOMPILER=$(FPC) $(TESTOPT)
  70. erroru$(PPUEXT) : erroru.pp
  71. $(TESTCOMPILER) erroru.pp
  72. ptest$(PPUEXT) : ../test/cg/ptest.pp
  73. $(TESTCOMPILER) ../test/cg/ptest.pp
  74. popuperr$(PPUEXT) : popuperr.pp
  75. $(TESTCOMPILER) popuperr.pp
  76. ifdef CCOMPILER
  77. ctest: ../test/cg/obj/ctest.c
  78. $(CCOMPILER) -c -o ../test/cg/obj/$(OS_TARGET)/$(CPU_TARGET)/ctest.o ../test/cg/obj/ctest.c
  79. else
  80. ctest:
  81. @$(ECHO) "No C compiler found"
  82. @exit 1
  83. endif
  84. extra : erroru$(PPUEXT) ptest$(PPUEXT) popuperr$(PPUEXT)
  85. #############################
  86. # Main rules
  87. #
  88. ifdef QUICKTEST
  89. all : rtl fpcunit extra
  90. else
  91. all : rtl fpcunit packages extra
  92. endif
  93. clean : cleanrtl cleanall cleanfpcunit cleanpackages
  94. clean_ctest :
  95. -$(DEL) ../test/cg/obj/$(OS_TARGET)/$(CPU_TARGET)/ctest.o