fpc/compiler/utils/Makefile.fpc
2021-01-24 17:40:02 +00:00

101 lines
2.1 KiB
Makefile

#
# Makefile.fpc for Free Pascal Compiler Utils
#
[target]
programs=fpc ppufiles ppudump ppumove mka64ins mkarmins mkx86ins msg2inc mkx86inl mkz80ins
rst=fpcsubst
[clean]
units=ppu crc
[compiler]
unitdir=..
sourcedir=..
[install]
fpcpackage=y
[require]
tools=data2inc
[default]
fpcdir=../..
[shared]
build=n
[prerules]
ifdef OPTNEW
override FPCOPT+=$(OPTNEW)
endif
[rules]
#
# PPU Tools
#
# not parallel because systems using an external linker will get conflicts
# due to overwriting each other's link.res file
.NOTPARALLEL:
REG_SOURCES=$(wildcard *reg.pp)
REG_EXES=$(subst .pp,$(EXEEXT),$(REG_SOURCES))
ifndef NOCPUDEF
ppu$(PPUEXT): ../ppu.pas
$(MAKE) ppu$(PPUEXT) NOCPUDEF=1
ppudump$(EXEEXT): ppuutils/ppudump.pp ppu$(PPUEXT)
$(MAKE) ppudump$(EXEEXT) NOCPUDEF=1
ppufiles$(EXEEXT): ppufiles.pp ppu$(PPUEXT)
$(MAKE) ppufiles$(EXEEXT) NOCPUDEF=1
ppumove$(EXEEXT): ppumove.pp ppu$(PPUEXT)
$(MAKE) ppumove$(EXEEXT) NOCPUDEF=1
else
ppu$(PPUEXT): ../ppu.pas
$(COMPILER) ../ppu.pas -Fu../llvm -Fu../generic -dGENERIC_CPU -Fi..
ppudump$(EXEEXT): ppuutils/ppudump.pp ppu$(PPUEXT)
$(COMPILER) ppuutils/ppudump.pp -Fu../llvm -Fu../generic -dGENERIC_CPU -Fi..
ppufiles$(EXEEXT): ppufiles.pp ppu$(PPUEXT)
$(COMPILER) ppufiles.pp -Fu../generic -dGENERIC_CPU -Fi..
ppumove$(EXEEXT): ppumove.pp ppu$(PPUEXT)
$(COMPILER) ppumove.pp -Fu../generic -dGENERIC_CPU -Fi..
endif
msg2inc$(EXEEXT): $(COMPILER_UNITTARGETDIR) msg2inc.pp
gppc386$(EXEEXT): $(COMPILER_UNITTARGETDIR) gppc386.pp
fpcsubst$(EXEEXT): fpcsubst.pp usubst.pp
fpcmkcfg$(EXEEXT): fpcmkcfg.pp usubst.pp fpccfg.inc fpcfg.inc fpini.inc
ifneq ($(DATA2INC),)
fpccfg.inc: fpc.cft
$(DATA2INC) -b -s fpc.cft fpccfg.inc DefaultConfig
fpcfg.inc : fpinc.cfg
$(DATA2INC) -b -s fpinc.cfg fpcfg.inc fpcfg
fpini.inc : fpinc.ini
$(DATA2INC) -b -s fpinc.ini fpini.inc fpini
endif
reg_exes: $(COMPILER_UNITTARGETDIR)
$(MAKE) $(REG_EXES)
#
# Don't export some tools, which are found in the current dir if it's in
# the path, so are not valid for the subdirs
#
unexport PPUFILES PPUMOVE