mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-25 16:43:24 +02:00
403 lines
7.8 KiB
Makefile
403 lines
7.8 KiB
Makefile
#
|
|
# $Id$
|
|
# Copyright (c) 1999 by the Free Pascal Development Team
|
|
#
|
|
# Makefile for Free Pascal Source Tree
|
|
#
|
|
# See the file COPYING.FPC, included in this distribution,
|
|
# for details about the copyright.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
#
|
|
|
|
#####################################################################
|
|
# Config
|
|
#####################################################################
|
|
|
|
MODULES=compiler rtl api fv gdb ide
|
|
|
|
ifndef RTLDIR
|
|
RTLDIR=rtl
|
|
endif
|
|
|
|
ifndef FCLDIR
|
|
FCLDIR=fcl
|
|
endif
|
|
|
|
ifndef GTKDIR
|
|
GTKDIR=gtk
|
|
endif
|
|
|
|
ifndef APIDIR
|
|
APIDIR=api
|
|
endif
|
|
|
|
ifndef FVDIR
|
|
FVDIR=fv
|
|
endif
|
|
|
|
ifndef GDBDIR
|
|
GDBDIR=gdbint
|
|
endif
|
|
|
|
ifndef FPINSTDIR
|
|
FPINSTDIR=fpinst
|
|
endif
|
|
|
|
ifndef IDEDIR
|
|
IDEDIR=ide/text
|
|
endif
|
|
|
|
#####################################################################
|
|
# Defaults
|
|
#####################################################################
|
|
|
|
RELEASE=1
|
|
|
|
|
|
#####################################################################
|
|
# Main targets
|
|
#####################################################################
|
|
|
|
.PHONY: all clean install staticinstall sharedinstall \
|
|
$(addsuffix _all,$(MODULES)) \
|
|
$(addsuffix _clean,$(MODULES)) \
|
|
$(addsuffix _install,$(MODULES)) \
|
|
$(addsuffix _staticinstall,$(MODULES)) \
|
|
$(addsuffix _sharedinstall,$(MODULES))
|
|
|
|
info:
|
|
@echo
|
|
@echo Please use one of the following targets:
|
|
@echo
|
|
@echo $(MODULES)
|
|
@echo
|
|
@echo All targets can follow after a _ with:
|
|
@echo all,clean,install,staticinstall,sharedinstall
|
|
@echo
|
|
@echo example: make api_staticinstall
|
|
@exit
|
|
|
|
all: $(addsuffix _all,$(MODULES))
|
|
|
|
clean: $(addsuffix _clean,$(MODULES))
|
|
|
|
install: $(addsuffix _install,$(MODULES))
|
|
|
|
staticinstall: $(addsuffix _staticinstall,$(MODULES))
|
|
|
|
sharedinstall: $(addsuffix _sharedinstall,$(MODULES))
|
|
|
|
|
|
#####################################################################
|
|
# Include default makefile
|
|
#####################################################################
|
|
|
|
# test if FPCMAKE is still valid
|
|
ifndef FPCMAKE
|
|
ifdef FPCDIR
|
|
FPCMAKE=$(FPCDIR)/makefile.fpc
|
|
endif
|
|
endif
|
|
ifdef FPCMAKE
|
|
ifeq ($(strip $(wildcard $(FPCMAKE))),)
|
|
FPCDIR=
|
|
FPCMAKE=
|
|
endif
|
|
endif
|
|
|
|
ifndef FPCDIR
|
|
ifdef DEFAULTFPCDIR
|
|
FPCDIR=$(DEFAULTFPCDIR)
|
|
endif
|
|
endif
|
|
|
|
ifndef FPCMAKE
|
|
ifdef FPCDIR
|
|
FPCMAKE=$(FPCDIR)/makefile.fpc
|
|
else
|
|
FPCMAKE=makefile.fpc
|
|
endif
|
|
endif
|
|
|
|
override FPCMAKE:=$(strip $(wildcard $(FPCMAKE)))
|
|
ifndef FPCMAKE
|
|
testfpcmake:
|
|
@echo makefile.fpc not found!
|
|
@echo Check the FPCMAKE and FPCDIR environment variables.
|
|
@stopnow
|
|
ifndef NODEFAULTALL
|
|
all: testfpcmake
|
|
endif
|
|
install: testfpcmake
|
|
clean: testfpcmake
|
|
else
|
|
include $(FPCMAKE)
|
|
testfpcmake:
|
|
endif
|
|
|
|
|
|
#####################################################################
|
|
# Dependencies
|
|
#####################################################################
|
|
|
|
#######################################
|
|
# Compiler
|
|
#######################################
|
|
|
|
compiler_all:
|
|
$(MAKE) -C compiler cycle
|
|
|
|
compiler_clean:
|
|
$(MAKE) -C compiler clean
|
|
|
|
compiler_install:
|
|
$(MAKE) -C compiler install
|
|
|
|
compiler_installlib:
|
|
$(MAKE) -C compiler installlib
|
|
|
|
compiler_staticinstall:
|
|
|
|
compiler_sharedinstall:
|
|
|
|
|
|
#######################################
|
|
# RTL
|
|
#######################################
|
|
|
|
override RTLDIR:=$(RTLDIR)/$(OS_TARGET)
|
|
|
|
rtl_all:
|
|
$(MAKE) -C $(RTLDIR) all
|
|
|
|
rtl_clean:
|
|
$(MAKE) -C $(RTLDIR) clean
|
|
|
|
rtl_install:
|
|
$(MAKE) -C $(RTLDIR) install
|
|
|
|
rtl_staticinstall:
|
|
$(MAKE) -C $(RTLDIR) staticlibinstall
|
|
|
|
rtl_sharedinstall:
|
|
$(MAKE) -C $(RTLDIR) sharedlibinstall
|
|
|
|
|
|
#######################################
|
|
# FCL
|
|
#######################################
|
|
|
|
override FCLDIR:=$(FCLDIR)/$(OS_TARGET)
|
|
|
|
fcl_all: rtl_all
|
|
$(MAKE) -C $(FCLDIR) all
|
|
|
|
fcl_clean:
|
|
$(MAKE) -C $(FCLDIR) clean
|
|
|
|
fcl_install:
|
|
$(MAKE) -C $(FCLDIR) install
|
|
|
|
fcl_staticinstall:
|
|
$(MAKE) -C $(FCLDIR) staticlibinstall
|
|
|
|
fcl_sharedinstall:
|
|
$(MAKE) -C $(FCLDIR) sharedlibinstall
|
|
|
|
|
|
#######################################
|
|
# GTK
|
|
#######################################
|
|
|
|
gtk_all: rtl_all
|
|
$(MAKE) -C $(GTKDIR) all
|
|
|
|
gtk_clean:
|
|
$(MAKE) -C $(GTKDIR) clean
|
|
|
|
gtk_install:
|
|
$(MAKE) -C $(GTKDIR) install
|
|
|
|
gtk_staticinstall:
|
|
$(MAKE) -C $(GTKDIR) staticlibinstall
|
|
|
|
gtk_sharedinstall:
|
|
$(MAKE) -C $(GTKDIR) sharedlibinstall
|
|
|
|
|
|
|
|
#######################################
|
|
# API
|
|
#######################################
|
|
|
|
api_all: rtl_all
|
|
$(MAKE) -C $(APIDIR) all
|
|
|
|
api_clean:
|
|
$(MAKE) -C $(APIDIR) clean
|
|
|
|
api_install:
|
|
$(MAKE) -C $(APIDIR) install
|
|
|
|
api_staticinstall:
|
|
$(MAKE) -C $(APIDIR) staticlibinstall
|
|
|
|
api_sharedinstall:
|
|
$(MAKE) -C $(APIDIR) sharedlibinstall
|
|
|
|
|
|
#######################################
|
|
# FV
|
|
#######################################
|
|
|
|
fv_all: rtl_all api_all
|
|
$(MAKE) -C $(FVDIR) all
|
|
|
|
fv_clean:
|
|
$(MAKE) -C $(FVDIR) clean
|
|
|
|
fv_install:
|
|
$(MAKE) -C $(FVDIR) install
|
|
|
|
fv_staticinstall:
|
|
$(MAKE) -C $(FVDIR) staticlibinstall
|
|
|
|
fv_sharedinstall:
|
|
$(MAKE) -C $(FVDIR) sharedlibinstall
|
|
|
|
|
|
#######################################
|
|
# GDB
|
|
#######################################
|
|
|
|
gdb_all: rtl_all
|
|
$(MAKE) -C $(GDBDIR) all
|
|
|
|
gdb_clean:
|
|
$(MAKE) -C $(GDBDIR) clean
|
|
|
|
gdb_install:
|
|
$(MAKE) -C $(GDBDIR) install
|
|
|
|
gdb_staticinstall:
|
|
$(MAKE) -C $(GDBDIR) staticlibinstall
|
|
|
|
gdb_sharedinstall:
|
|
$(MAKE) -C $(GDBDIR) sharedlibinstall
|
|
|
|
|
|
#######################################
|
|
# FPC fpinst
|
|
#######################################
|
|
|
|
fpinst_all: rtl_all api_all fv_all
|
|
$(MAKE) -C $(FPINSTDIR) all
|
|
|
|
fpinst_clean:
|
|
$(MAKE) -C $(FPINSTDIR) clean
|
|
|
|
fpinst_install:
|
|
$(MAKE) -C $(FPINSTDIR) install
|
|
|
|
fpinst_staticinstall:
|
|
$(MAKE) -C $(FPINSTDIR) staticlibinstall
|
|
|
|
fpinst_sharedinstall:
|
|
$(MAKE) -C $(FPINSTDIR) sharedlibinstall
|
|
|
|
|
|
#######################################
|
|
# IDE
|
|
#######################################
|
|
|
|
ide_all: rtl_all api_all fv_all
|
|
$(MAKE) -C $(IDEDIR) all
|
|
|
|
ide_gdb: rtl_all api_all fv_all gdb_all
|
|
$(MAKE) -C $(IDEDIR) gdb
|
|
|
|
ide_full: rtl_all api_all fv_all
|
|
$(MAKE) -C $(IDEDIR) full
|
|
|
|
ide_fullgdb: rtl_all api_all fv_all gdb_all
|
|
$(MAKE) -C $(IDEDIR) fullgdb
|
|
|
|
ide_clean:
|
|
$(MAKE) -C $(IDEDIR) clean
|
|
|
|
ide_install:
|
|
$(MAKE) -C $(IDEDIR) install
|
|
|
|
ide_staticinstall:
|
|
$(MAKE) -C $(IDEDIR) staticlibinstall
|
|
|
|
ide_sharedinstall:
|
|
$(MAKE) -C $(IDEDIR) sharedlibinstall
|
|
|
|
|
|
#######################################
|
|
# Packaging targets
|
|
#######################################
|
|
|
|
ifndef ZIPTARGET
|
|
ZIPTARGET=install
|
|
endif
|
|
|
|
export ZIPTARGET
|
|
export PACKAGEDIR=$(BASEDIR)
|
|
|
|
idezips: clean
|
|
$(MAKE) ide_all
|
|
$(MAKE) -C $(IDEDIR) fpc_zipinstall ZIPNAME=ide-fake-$(PACKAGESUFFIX)
|
|
$(MAKE) ide_clean
|
|
$(MAKE) ide_gdb
|
|
$(MAKE) -C $(IDEDIR) fpc_zipinstall ZIPNAME=ide-gdb-$(PACKAGESUFFIX)
|
|
$(MAKE) ide_clean
|
|
$(MAKE) ide_full
|
|
$(MAKE) -C $(IDEDIR) fpc_zipinstall ZIPNAME=ide-comp-$(PACKAGESUFFIX)
|
|
$(MAKE) ide_clean
|
|
$(MAKE) ide_fullgdb
|
|
$(MAKE) -C $(IDEDIR) fpc_zipinstall ZIPNAME=ide-full-$(PACKAGESUFFIX)
|
|
|
|
fvzip: rtl_clean api_clean fv_clean
|
|
$(MAKE) api_all
|
|
$(MAKE) -C $(APIDIR) fpc_zipinstall ZIPNAME=fv-$(PACKAGESUFFIX)
|
|
$(MAKE) fv_all
|
|
$(MAKE) -C $(FVDIR) fpc_zipinstalladd ZIPNAME=fv-$(PACKAGESUFFIX)
|
|
|
|
fclzip: rtl_clean fcl_clean
|
|
$(MAKE) fcl_all
|
|
$(MAKE) -C $(FCLDIR) fpc_zipinstall ZIPNAME=fcl-$(PACKAGESUFFIX)
|
|
|
|
gtkzip: rtl_clean gtk_clean
|
|
$(MAKE) gtk_all
|
|
$(MAKE) -C $(GTKDIR) fpc_zipinstall ZIPNAME=gtk-$(PACKAGESUFFIX)
|
|
|
|
compilerzip: compiler_clean rtl_clean
|
|
$(MAKE) compiler_all
|
|
$(MAKE) -C compiler fpc_zipinstall ZIPTARGET=quickinstall ZIPNAME=compiler-$(PACKAGESUFFIX)
|
|
$(MAKE) -C $(RTLDIR) fpc_zipinstalladd ZIPNAME=compiler-$(PACKAGESUFFIX)
|
|
|
|
#
|
|
# $Log$
|
|
# Revision 1.11 1999-04-08 10:16:16 peter
|
|
# * zipinstall for linux with .tar.gz
|
|
#
|
|
# Revision 1.10 1999/04/01 22:16:02 peter
|
|
# * renamed ide zips
|
|
#
|
|
# Revision 1.9 1999/03/18 11:19:31 peter
|
|
# * fixed zipinstall
|
|
#
|
|
# Revision 1.8 1999/03/16 00:46:54 peter
|
|
# * makefile.fpc targets start with fpc_
|
|
# * small updates for install scripts
|
|
#
|
|
# Revision 1.7 1999/03/09 01:35:46 peter
|
|
# * makefile.fpc updates and defaultfpcdir var
|
|
#
|
|
#
|