fpc/packages/ide/compiler/Makefile.fpc

108 lines
2.1 KiB
Makefile

#
# Makefile.fpc for Compiler units for IDE inclusion
#
[package]
main=ide
[require]
packages=rtl rtl-extra
[target]
units=compunit
[compiler]
options=-Ur -dNOCATCH
unitdir=$(COMPILERDIR) $(COMPILERDIR)/$(PPC_TARGET) $(COMPILERDIR)/targets $(COMPILERDIR)/systems
includedir=$(COMPILERDIR) $(COMPILERDIR)/$(PPC_TARGET)
[install]
fpcpackage=y
[default]
fpcdir=../../..
[prerules]
COMPILERDIR=$(FPCDIR)/compiler
# Use 1.0.2 and 1.0.4 require -Ca to generate simple ppu
ifneq ($(findstring 1.0.2,$(FPC_VERSION)),)
override FPCOPT+=-Ca
endif
ifneq ($(findstring 1.0.4,$(FPC_VERSION)),)
override FPCOPT+=-Ca
endif
# set default value for PPC_TARGET
ifndef PPC_TARGET
PPC_TARGET=$(CPU_TARGET)
endif
# do not add -d$(CPU_TARGET)
override NOCPUDEF=1
# Use PPC_TARGET instead
override FPCOPT+= -d$(PPC_TARGET)
# Add required defines
override FPCOPT+=-dBrowserCol -dGDB
ifeq ($(PPC_TARGET),i386)
# the x86 dir doesn't hurt for 1.0.x though we could leave it away
override FPCOPT+= -Fu$(COMPILERDIR)/x86
#-dSUPPORT_MMX
endif
ifeq ($(PPC_TARGET),x86_64)
override FPCOPT+= -Fu$(COMPILERDIR)/x86 -dNOOPT
endif
ifeq ($(PPC_TARGET),i8086)
override FPCOPT+= -Fu$(COMPILERDIR)/x86
endif
ifeq ($(PPC_TARGET),powerpc)
override FPCOPT+= -Fu$(COMPILERDIR)/ppcgen
endif
ifeq ($(PPC_TARGET),powerpc64)
override FPCOPT+= -Fu$(COMPILERDIR)/ppcgen
endif
# mipsel specific
ifeq ($(PPC_TARGET),mipsel)
override FPCOPT+= -Fu$(COMPILERDIR)/mips
endif
# sparc specific
ifeq ($(PPC_TARGET),sparc)
override FPCOPT+= -Fu$(COMPILERDIR)/sparcgen -Fi$(COMPILERDIR)/sparcgen
endif
# sparc64 specific
ifeq ($(PPC_TARGET),sparc64)
override FPCOPT+= -Fu$(COMPILERDIR)/sparcgen -Fi$(COMPILERDIR)/sparcgen
endif
# wasm32 specific
ifeq ($(PPC_TARGET),wasm32)
override FPCOPT+= -dNOOPT
endif
# RiscV32 specific
ifeq ($(PPC_TARGET),riscv32)
override LOCALOPT+=-Furiscv
endif
# RiscV64 specific
ifeq ($(PPC_TARGET),riscv64)
override LOCALOPT+=-Furiscv
endif
[rules]
.NOTPARALLEL:
.PHONY: compiler_ppuclean all clean install
compiler_ppuclean:
$(MAKE) -C $(COMPILERDIR) ppuclean
all: compiler_ppuclean fpc_all
clean: cleanall
# Nothing to install
install: