|
@@ -32,7 +32,7 @@ fpcdir=..
|
|
|
unexport FPC_VERSION FPC_COMPILERINFO
|
|
|
|
|
|
# Which platforms are ready for inclusion in the cycle
|
|
|
-CYCLETARGETS=i386 powerpc sparc arm x86_64 powerpc64 m68k armeb mipsel mips avr jvm
|
|
|
+CYCLETARGETS=i386 powerpc sparc arm x86_64 powerpc64 m68k armeb mipsel mips avr jvm i8086
|
|
|
|
|
|
# All supported targets used for clean
|
|
|
ALLTARGETS=$(CYCLETARGETS)
|
|
@@ -77,6 +77,9 @@ endif
|
|
|
ifdef JVM
|
|
|
PPC_TARGET=jvm
|
|
|
endif
|
|
|
+ifdef I8086
|
|
|
+PPC_TARGET=i8086
|
|
|
+endif
|
|
|
|
|
|
# Default is to generate a compiler for the same
|
|
|
# platform as CPU_TARGET (a native compiler)
|
|
@@ -193,6 +196,9 @@ endif
|
|
|
ifeq ($(CPC_TARGET),jvm)
|
|
|
CPUSUF=jvm
|
|
|
endif
|
|
|
+ifeq ($(CPC_TARGET),i8086)
|
|
|
+CPUSUF=8086
|
|
|
+endif
|
|
|
|
|
|
# Do not define the default -d$(CPU_TARGET) because that
|
|
|
# will conflict with our -d$(CPC_TARGET)
|
|
@@ -279,6 +285,11 @@ ifeq ($(PPC_TARGET),jvm)
|
|
|
override LOCALOPT+=-Fujvm -dNOOPT
|
|
|
endif
|
|
|
|
|
|
+# i8086 specific
|
|
|
+ifeq ($(PPC_TARGET),i8086)
|
|
|
+override LOCALOPT+=-Fux86 -dNOOPT
|
|
|
+endif
|
|
|
+
|
|
|
OPTWPOCOLLECT=-OWdevirtcalls,optvmts -FW$(BASEDIR)/pp1.wpo
|
|
|
OPTWPOPERFORM=-Owdevirtcalls,optvmts -Fw$(BASEDIR)/pp1.wpo
|
|
|
# symbol liveness WPO requires nm, smart linking and no stripping (the latter
|
|
@@ -303,6 +314,9 @@ endif
|
|
|
ifeq ($(OS_TARGET),gba)
|
|
|
NoNativeBinaries=1
|
|
|
endif
|
|
|
+ifeq ($(OS_TARGET),msdos)
|
|
|
+NoNativeBinaries=1
|
|
|
+endif
|
|
|
|
|
|
[rules]
|
|
|
#####################################################################
|
|
@@ -377,7 +391,7 @@ endif
|
|
|
# CPU targets
|
|
|
#####################################################################
|
|
|
|
|
|
-PPC_TARGETS=i386 m68k powerpc sparc arm armeb x86_64 powerpc64 alpha vis ia64 mips mipsel avr jvm
|
|
|
+PPC_TARGETS=i386 m68k powerpc sparc arm armeb x86_64 powerpc64 alpha vis ia64 mips mipsel avr jvm i8086
|
|
|
INSTALL_TARGETS=$(addsuffix _exe_install,$(sort $(CYCLETARGETS) $(PPC_TARGETS)))
|
|
|
|
|
|
.PHONY: $(PPC_TARGETS) $(INSTALL_TARGETS)
|
|
@@ -432,12 +446,12 @@ tempclean:
|
|
|
-$(DEL) $(PPCROSSNAME) $(TEMPNAME) $(TEMPNAME1) $(TEMPNAME2) $(TEMPNAME3) $(MSG2INC) pp1.wpo pp2.wpo
|
|
|
|
|
|
execlean :
|
|
|
- -$(DEL) ppc386$(EXEEXT) ppc68k$(EXEEXT) ppcx64$(EXEEXT) ppcppc$(EXEEXT) ppcsparc$(EXEEXT) ppcppc64$(EXEEXT) ppcarm$(EXEEXT) ppcmips$(EXEEXT) ppcmipsel$(EXEEXT) ppcjvm$(EXEEXT) $(EXENAME) $(TEMPWPONAME1) $(TEMPWPONAME2)
|
|
|
+ -$(DEL) ppc386$(EXEEXT) ppc68k$(EXEEXT) ppcx64$(EXEEXT) ppcppc$(EXEEXT) ppcsparc$(EXEEXT) ppcppc64$(EXEEXT) ppcarm$(EXEEXT) ppcmips$(EXEEXT) ppcmipsel$(EXEEXT) ppcjvm$(EXEEXT) ppc8086$(EXEEXT) $(EXENAME) $(TEMPWPONAME1) $(TEMPWPONAME2)
|
|
|
|
|
|
$(addsuffix _clean,$(ALLTARGETS)):
|
|
|
-$(DELTREE) $(addprefix $(subst _clean,,$@),/units)
|
|
|
-$(DEL) $(addprefix $(subst _clean,,$@)/,*$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT))
|
|
|
- -$(DEL) $(addprefix $(subst _clean,,$@)/,ppc386$(EXEEXT) ppc68k$(EXEEXT) ppcx64$(EXEEXT) ppcppc$(EXEEXT) ppcsparc$(EXEEXT) ppcppc64$(EXEEXT) ppcarm$(EXEEXT) ppcmips$(EXEEXT) ppcmipsel$(EXEEXT) ppcjvm$(EXEEXT) $(EXENAME))
|
|
|
+ -$(DEL) $(addprefix $(subst _clean,,$@)/,ppc386$(EXEEXT) ppc68k$(EXEEXT) ppcx64$(EXEEXT) ppcppc$(EXEEXT) ppcsparc$(EXEEXT) ppcppc64$(EXEEXT) ppcarm$(EXEEXT) ppcmips$(EXEEXT) ppcmipsel$(EXEEXT) ppcjvm$(EXEEXT) ppc8086$(EXEEXT) $(EXENAME))
|
|
|
|
|
|
cycleclean: cleanall $(addsuffix _clean,$(CPC_TARGET))
|
|
|
-$(DEL) $(EXENAME)
|