| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302 |
- #
- # $Id$
- # Copyright (c) 1998 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 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
- NODEFAULTRULES=1
- #####################################################################
- # Include default makefile
- #####################################################################
- ifndef FPCMAKE
- ifdef FPCDIR
- FPCMAKE=$(FPCDIR)/makefile.fpc
- else
- FPCMAKE=makefile.fpc
- endif
- endif
- override FPCMAKE:=$(strip $(wildcard $(FPCMAKE)))
- ifeq ($(FPCMAKE),)
- nofpcmake:
- @echo
- @echo makefile.fpc not found!
- @echo Check the FPCMAKE and FPCDIR environment variables.
- @echo
- @exit
- else
- include $(FPCMAKE)
- endif
- #####################################################################
- # Dependencies
- #####################################################################
- .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
- #######################################
- # Compiler
- #######################################
- compiler_all:
- $(MAKE) -C compiler cycle
- compiler_clean:
- $(MAKE) -C compiler clean
- compiler_install:
- $(MAKE) -C compiler install
- compiler_staticinstall:
- compiler_sharedinstall:
- #######################################
- # RTL
- #######################################
- rtl_all:
- $(MAKE) -C rtl/$(OS_TARGET) all
- rtl_clean:
- $(MAKE) -C rtl/$(OS_TARGET) clean
- rtl_install:
- $(MAKE) -C rtl/$(OS_TARGET) install
- rtl_staticinstall:
- $(MAKE) -C rtl/$(OS_TARGET) staticlibinstall
- rtl_sharedinstall:
- $(MAKE) -C rtl/$(OS_TARGET) 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
- #######################################
- # Common targets all,install,clean
- #######################################
- all: $(addsuffix _all,$(MODULES))
- clean: $(addsuffix _clean,$(MODULES))
- install: $(addsuffix _install,$(MODULES))
- staticinstall: $(addsuffix _staticinstall,$(MODULES))
- sharedinstall: $(addsuffix _sharedinstall,$(MODULES))
- #######################################
- # Special targets
- #######################################
- export PACKAGEDIR=$(BASEDIR)
- idezips: clean
- $(MAKE) ide_all
- $(MAKE) -C $(IDEDIR) zipinstall ZIPNAME=ide_fake
- $(MAKE) ide_clean
- $(MAKE) ide_gdb
- $(MAKE) -C $(IDEDIR) zipinstall ZIPNAME=ide_gdb
- $(MAKE) ide_clean
- $(MAKE) ide_full
- $(MAKE) -C $(IDEDIR) zipinstall ZIPNAME=ide_comp
- $(MAKE) ide_clean
- $(MAKE) ide_fullgdb
- $(MAKE) -C $(IDEDIR) zipinstall ZIPNAME=ide_full
- #######################################
- # Defaults
- #######################################
- #
- # $Log$
- # Revision 1.6 1999-02-22 02:17:36 peter
- # * fixed dos linebreaks
- #
- # Revision 1.5 1999/02/19 16:46:07 peter
- # + fpinst_ targets for the isntaller
- #
- # Revision 1.4 1999/02/19 15:33:01 peter
- # + idezips target
- #
- # Revision 1.3 1999/02/16 00:50:12 peter
- # + ide_all,ide_gdb,ide_full,ide_fullgdb targets
- #
- # Revision 1.2 1999/01/28 19:58:19 peter
- # * makefile updates
- #
- # Revision 1.1 1999/01/21 11:48:39 peter
- # * initial version
- #
- #
|