Makefile.fpc 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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=$(FULL_TARGET)
  11. [default]
  12. fpcdir=../..
  13. [rules]
  14. .PHONY: rtl extra fpcunit 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. # RTL
  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. # Extra units
  46. #
  47. TESTOPT=-n -FE$(COMPILER_TARGETDIR) -T$(OS_TARGET) $(OPT)
  48. ifneq ($(BINUTILSPREFIX),)
  49. override TESTOPT+=-XP$(BINUTILSPREFIX) -Xc
  50. endif
  51. TESTCOMPILER=$(FPC) $(TESTOPT)
  52. erroru$(PPUEXT) : erroru.pp
  53. $(TESTCOMPILER) erroru.pp
  54. ptest$(PPUEXT) : ../test/cg/ptest.pp
  55. $(TESTCOMPILER) ../test/cg/ptest.pp
  56. popuperr$(PPUEXT) : popuperr.pp
  57. $(TESTCOMPILER) popuperr.pp
  58. ifdef CCOMPILER
  59. ctest: ../test/cg/obj/ctest.c
  60. $(CCOMPILER) -c -o ../test/cg/obj/$(OS_TARGET)/$(CPU_TARGET)/ctest.o ../test/cg/obj/ctest.c
  61. else
  62. ctest:
  63. @$(ECHO) "No C compiler found"
  64. @exit 1
  65. endif
  66. extra : erroru$(PPUEXT) ptest$(PPUEXT) popuperr$(PPUEXT)
  67. #############################
  68. # Main rules
  69. #
  70. all : rtl fpcunit extra
  71. clean : cleanrtl cleanall cleanfpcunit
  72. clean_ctest :
  73. -$(DEL) ../test/cg/obj/$(OS_TARGET)/$(CPU_TARGET)/ctest.o