Makefile.fpc 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. ../test/cg/obj/$(OS_TARGET)/$(CPU_TARGET)/ctest.o : ../test/cg/obj/ctest.c
  46. $(CCOMPILER) -c -o ../test/cg/obj/$(OS_TARGET)/$(CPU_TARGET)/ctest.o ../test/cg/obj/ctest.c
  47. endif
  48. extra : erroru$(PPUEXT) ptest$(PPUEXT) popuperr$(PPUEXT) ../test/cg/obj/$(OS_TARGET)/$(CPU_TARGET)/ctest.o
  49. #############################
  50. # Main rules
  51. #
  52. all : rtl extra
  53. clean : cleanrtl cleanall
  54. clean_ctest :
  55. -$(DEL) ../test/cg/obj/$(OS_TARGET)/$(CPU_TARGET)/ctest.o