Show quoted text 29 lines
Greetings,
Maybe some of the FPC people reading this can shed some light. I have
been having problems using Make. For some reason when I am doing a
make zipinstall
it processes the *.ppu files correctly but when it generates the path
for the *.o files it doubles up on the path so it looks like
./units/./units/*.o
This of course doesn't work. I thought that was my only problem until
today. I decided to move Lazarus out of the FPC tree and use FPC in
installed mode. I set everything up and was going to try the zipinstall
again. However I checked out the directories after doing a
make clean
and now discovered that the .ppu files are not being cleaned out of the
lcl/units directory. When I check the clean command it appears that it
is now trying to clean
./units/.units/*.ppu (where the * is the individual names)
The rm for the *.o that follows the .ppu is correct.
What the heck is going on. It appears to be just my system but I don't
understand what is set incorrectly.
It's a bug in fpcmake.ini. Here's a good [installrules] section:
[installrules]
##################################################################### # Install rules
#####################################################################
PHONY: fpc_showinstall fpc_install
ifdef EXTRAINSTALLUNITS
override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS)) endif
ifdef INSTALLPPUFILES
ifdef PPUFILES
override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES)) override INSTALLPPULINKFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES)))
else
override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES)) override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)))
endif
endif
ifdef INSTALLEXEFILES
override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES)) endif
fpc_showinstall: $(SHOWINSTALLTARGET)
ifdef INSTALLEXEFILES
@$(ECHO) -e $(addprefix "\n"$(BININSTALLDIR)/,$(INSTALLEXEFILES)) endif
ifdef INSTALLPPUFILES
@$(ECHO) -e $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPUFILES)) ifneq ($(INSTALLPPULINKFILES),)
@$(ECHO) -e $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPULINKFILES)) endif
ifneq ($(wildcard $(LIBFULLNAME)),)
@$(ECHO) $(LIBINSTALLDIR)/$(LIBFULLNAME)
ifdef HASSHAREDLIB
@$(ECHO) $(LIBINSTALLDIR)/$(LIBNAME)
endif
endif
endif
ifdef EXTRAINSTALLFILES
@$(ECHO) -e $(addprefix "\n"$(DATAINSTALLDIR)/,$(EXTRAINSTALLFILES)) endif
fpc_install: $(INSTALLTARGET)
# Create UnitInstallFiles
ifdef INSTALLEXEFILES
$(MKDIR) $(BININSTALLDIR)
# Compress the exes if upx is defined
ifdef UPXPROG
-$(UPXPROG) $(INSTALLEXEFILES)
endif
$(INSTALLEXE) $(INSTALLEXEFILES) $(BININSTALLDIR)
endif
ifdef INSTALLPPUFILES
$(MKDIR) $(UNITINSTALLDIR)
$(INSTALL) $(INSTALLPPUFILES) $(UNITINSTALLDIR)
ifneq ($(INSTALLPPULINKFILES),)
$(INSTALL) $(INSTALLPPULINKFILES) $(UNITINSTALLDIR) endif
ifneq ($(wildcard $(LIBFULLNAME)),)
$(MKDIR) $(LIBINSTALLDIR)
$(INSTALL) $(LIBFULLNAME) $(LIBINSTALLDIR)
ifdef inUnix
ln -sf $(LIBFULLNAME) $(LIBINSTALLDIR)/$(LIBNAME)
endif
endif
endif
ifdef EXTRAINSTALLFILES
$(MKDIR) $(DATAINSTALLDIR)
$(INSTALL) $(EXTRAINSTALLFILES) $(DATAINSTALLDIR)
endif