Makefile.fpc 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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 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. $(DELTREE) $(COMPILER_TARGETDIR)
  23. $(MAKE) -C ../../rtl install $(INSTALLOPT)
  24. $(ECHO) Compiled > rtl-stamp.$(FULL_TARGET)
  25. cleanrtl:
  26. $(DELTREE) $(COMPILER_TARGETDIR)
  27. $(DELTREE) $(DUMMYINSTALLDIR)
  28. -$(DEL) rtl-stamp.$(FULL_TARGET)
  29. rtl : rtl-stamp.$(FULL_TARGET)
  30. #############################
  31. # Extra units
  32. #
  33. TESTOPT=-n -FE$(COMPILER_TARGETDIR) -T$(OS_TARGET) $(OPT)
  34. ifneq ($(BINUTILSPREFIX),)
  35. override TESTOPT+=-XP$(BINUTILSPREFIX) -Xc
  36. endif
  37. TESTCOMPILER=$(FPC) $(TESTOPT)
  38. erroru$(PPUEXT) : erroru.pp
  39. $(TESTCOMPILER) erroru.pp
  40. ptest$(PPUEXT) : ../test/cg/ptest.pp
  41. $(TESTCOMPILER) ../test/cg/ptest.pp
  42. popuperr$(PPUEXT) : popuperr.pp
  43. $(TESTCOMPILER) popuperr.pp
  44. ifdef CCOMPILER
  45. ctest: ../test/cg/obj/ctest.c
  46. $(CCOMPILER) -c -o ../test/cg/obj/$(OS_TARGET)/$(CPU_TARGET)/ctest.o ../test/cg/obj/ctest.c
  47. else
  48. ctest:
  49. @$(ECHO) "No C compiler found"
  50. @exit 1
  51. endif
  52. extra : erroru$(PPUEXT) ptest$(PPUEXT) popuperr$(PPUEXT)
  53. #############################
  54. # Main rules
  55. #
  56. all : rtl extra
  57. clean : cleanrtl cleanall
  58. clean_ctest :
  59. -$(DEL) ../test/cg/obj/$(OS_TARGET)/$(CPU_TARGET)/ctest.o