mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-14 04:19:28 +02:00
380 lines
7.2 KiB
Makefile
380 lines
7.2 KiB
Makefile
#
|
|
# Makefile generated by fpcmake v0.99.13 on 1999-12-23 20:20
|
|
#
|
|
|
|
defaultrule: all
|
|
|
|
#####################################################################
|
|
# Autodetect OS (Linux or Dos or Windows NT)
|
|
# define inlinux when running under linux
|
|
# define inWinNT when running under WinNT
|
|
#####################################################################
|
|
|
|
# We need only / in the path
|
|
override PATH:=$(subst \,/,$(PATH))
|
|
|
|
# Search for PWD and determine also if we are under linux
|
|
PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(subst ;, ,$(PATH)))))
|
|
ifeq ($(PWD),)
|
|
PWD:=$(strip $(wildcard $(addsuffix /pwd,$(subst :, ,$(PATH)))))
|
|
ifeq ($(PWD),)
|
|
nopwd:
|
|
@echo You need the GNU utils package to use this Makefile!
|
|
@echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip
|
|
@exit
|
|
else
|
|
inlinux=1
|
|
endif
|
|
else
|
|
PWD:=$(firstword $(PWD))
|
|
endif
|
|
|
|
# Detect NT - NT sets OS to Windows_NT
|
|
ifndef inlinux
|
|
ifeq ($(OS),Windows_NT)
|
|
inWinNT=1
|
|
endif
|
|
endif
|
|
|
|
# Detect OS/2 - OS/2 has OS2_SHELL defined
|
|
ifndef inlinux
|
|
ifndef inWinNT
|
|
ifdef OS2_SHELL
|
|
inOS2=1
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
# The extension of executables
|
|
ifdef inlinux
|
|
EXEEXT=
|
|
else
|
|
EXEEXT=.exe
|
|
endif
|
|
|
|
# The path which is search separated by spaces
|
|
ifdef inlinux
|
|
SEARCHPATH=$(subst :, ,$(PATH))
|
|
else
|
|
SEARCHPATH=$(subst ;, ,$(PATH))
|
|
endif
|
|
|
|
#####################################################################
|
|
# FPC version/target Detection
|
|
#####################################################################
|
|
|
|
# What compiler to use ?
|
|
ifndef FPC
|
|
# Compatibility with old makefiles
|
|
ifdef PP
|
|
export FPC=$(PP)
|
|
else
|
|
ifdef inOS2
|
|
export FPC=ppos2$(EXEEXT)
|
|
else
|
|
export FPC=ppc386$(EXEEXT)
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
# Target OS
|
|
ifndef OS_TARGET
|
|
export OS_TARGET:=$(shell $(FPC) -iTO)
|
|
endif
|
|
|
|
# Source OS
|
|
ifndef OS_SOURCE
|
|
export OS_SOURCE:=$(shell $(FPC) -iSO)
|
|
endif
|
|
|
|
# Target CPU
|
|
ifndef CPU_TARGET
|
|
export CPU_TARGET:=$(shell $(FPC) -iTP)
|
|
endif
|
|
|
|
# Source CPU
|
|
ifndef CPU_SOURCE
|
|
export CPU_SOURCE:=$(shell $(FPC) -iSP)
|
|
endif
|
|
|
|
# FPC version
|
|
ifndef FPC_VERSION
|
|
export FPC_VERSION:=$(shell $(FPC) -iV)
|
|
endif
|
|
|
|
#####################################################################
|
|
# Default Settings
|
|
#####################################################################
|
|
|
|
# Release ? Then force OPT and don't use extra opts via commandline
|
|
ifndef REDIRFILE
|
|
REDIRFILE=log
|
|
endif
|
|
|
|
ifdef RELEASE
|
|
override OPT:=-Xs -OG2p3 -n
|
|
endif
|
|
|
|
# Verbose settings (warning,note,info)
|
|
ifdef VERBOSE
|
|
override OPT+=-vwni
|
|
endif
|
|
|
|
ifdef REDIR
|
|
ifndef inlinux
|
|
override FPC=redir -eo $(FPC)
|
|
endif
|
|
# set the verbosity to max
|
|
override OPT+=-va
|
|
override REDIR:= >> $(REDIRFILE)
|
|
endif
|
|
|
|
#####################################################################
|
|
# User Settings
|
|
#####################################################################
|
|
|
|
|
|
# Targets
|
|
|
|
override DIROBJECTS+=$(wildcard linux examples build)
|
|
|
|
# Clean
|
|
|
|
|
|
# Install
|
|
|
|
ZIPTARGET=install
|
|
|
|
# Defaults
|
|
|
|
|
|
# Directories
|
|
|
|
ifndef PACKAGEDIR
|
|
PACKAGEDIR=$(FPCDIR)/packages
|
|
endif
|
|
ifndef COMPONENTDIR
|
|
COMPONENTDIR=$(FPCDIR)/components
|
|
endif
|
|
|
|
# Packages
|
|
|
|
|
|
# Libraries
|
|
|
|
|
|
#####################################################################
|
|
# Standard rules
|
|
#####################################################################
|
|
|
|
all: $(addsuffix _all,$(OS_TARGET))
|
|
|
|
debug: $(addsuffix _debug,$(OS_TARGET))
|
|
|
|
test: $(addsuffix _test,$(OS_TARGET))
|
|
|
|
smart: $(addsuffix _smart,$(OS_TARGET))
|
|
|
|
shared: $(addsuffix _shared,$(OS_TARGET))
|
|
|
|
showinstall: $(addsuffix _showinstall,$(OS_TARGET))
|
|
|
|
install: $(addsuffix _install,$(OS_TARGET))
|
|
|
|
sourceinstall: $(addsuffix _sourceinstall,$(OS_TARGET))
|
|
|
|
zipinstall: $(addsuffix _zipinstall,$(OS_TARGET))
|
|
|
|
zipinstalladd: $(addsuffix _zipinstalladd,$(OS_TARGET))
|
|
|
|
clean: $(addsuffix _clean,$(DIROBJECTS))
|
|
|
|
cleanall: $(addsuffix _cleanall,$(DIROBJECTS))
|
|
|
|
depend: $(addsuffix _depend,$(DIROBJECTS))
|
|
|
|
.PHONY: all debug test smart shared showinstall install sourceinstall zipinstall zipinstalladd clean cleanall depend
|
|
|
|
#####################################################################
|
|
# Package depends
|
|
#####################################################################
|
|
|
|
ifneq ($(wildcard $(RTLDIR)),)
|
|
ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
|
|
override COMPILEPACKAGES+=rtl
|
|
rtl_package:
|
|
$(MAKE) -C $(RTLDIR) all
|
|
endif
|
|
endif
|
|
|
|
.PHONY: rtl_package
|
|
|
|
|
|
# Target Dirs
|
|
|
|
OBJECTDIRLINUX=1
|
|
OBJECTDIREXAMPLES=1
|
|
OBJECTDIRBUILD=1
|
|
|
|
# Dir linux
|
|
|
|
ifdef OBJECTDIRLINUX
|
|
.PHONY: linux_all linux_debug linux_examples linux_test linux_smart linux_shared linux_showinstall linux_install linux_sourceinstall linux_zipinstall linux_zipinstalladd linux_clean linux_cleanall linux_depend linux_info
|
|
|
|
linux_all:
|
|
$(MAKE) -C linux all
|
|
|
|
linux_debug:
|
|
$(MAKE) -C linux debug
|
|
|
|
linux_examples:
|
|
$(MAKE) -C linux examples
|
|
|
|
linux_test:
|
|
$(MAKE) -C linux test
|
|
|
|
linux_smart:
|
|
$(MAKE) -C linux smart
|
|
|
|
linux_shared:
|
|
$(MAKE) -C linux shared
|
|
|
|
linux_showinstall:
|
|
$(MAKE) -C linux showinstall
|
|
|
|
linux_install:
|
|
$(MAKE) -C linux install
|
|
|
|
linux_sourceinstall:
|
|
$(MAKE) -C linux sourceinstall
|
|
|
|
linux_zipinstall:
|
|
$(MAKE) -C linux zipinstall
|
|
|
|
linux_zipinstalladd:
|
|
$(MAKE) -C linux zipinstalladd
|
|
|
|
linux_clean:
|
|
$(MAKE) -C linux clean
|
|
|
|
linux_cleanall:
|
|
$(MAKE) -C linux cleanall
|
|
|
|
linux_depend:
|
|
$(MAKE) -C linux depend
|
|
|
|
linux_info:
|
|
$(MAKE) -C linux info
|
|
endif
|
|
|
|
# Dir examples
|
|
|
|
ifdef OBJECTDIREXAMPLES
|
|
.PHONY: examples_all examples_debug examples_examples examples_test examples_smart examples_shared examples_showinstall examples_install examples_sourceinstall examples_zipinstall examples_zipinstalladd examples_clean examples_cleanall examples_depend examples_info
|
|
|
|
examples_all:
|
|
$(MAKE) -C examples all
|
|
|
|
examples_debug:
|
|
$(MAKE) -C examples debug
|
|
|
|
examples_examples:
|
|
$(MAKE) -C examples examples
|
|
|
|
examples_test:
|
|
$(MAKE) -C examples test
|
|
|
|
examples_smart:
|
|
$(MAKE) -C examples smart
|
|
|
|
examples_shared:
|
|
$(MAKE) -C examples shared
|
|
|
|
examples_showinstall:
|
|
$(MAKE) -C examples showinstall
|
|
|
|
examples_install:
|
|
$(MAKE) -C examples install
|
|
|
|
examples_sourceinstall:
|
|
$(MAKE) -C examples sourceinstall
|
|
|
|
examples_zipinstall:
|
|
$(MAKE) -C examples zipinstall
|
|
|
|
examples_zipinstalladd:
|
|
$(MAKE) -C examples zipinstalladd
|
|
|
|
examples_clean:
|
|
$(MAKE) -C examples clean
|
|
|
|
examples_cleanall:
|
|
$(MAKE) -C examples cleanall
|
|
|
|
examples_depend:
|
|
$(MAKE) -C examples depend
|
|
|
|
examples_info:
|
|
$(MAKE) -C examples info
|
|
endif
|
|
|
|
# Dir build
|
|
|
|
ifdef OBJECTDIRBUILD
|
|
.PHONY: build_all build_debug build_examples build_test build_smart build_shared build_showinstall build_install build_sourceinstall build_zipinstall build_zipinstalladd build_clean build_cleanall build_depend build_info
|
|
|
|
build_all:
|
|
$(MAKE) -C build all
|
|
|
|
build_debug:
|
|
$(MAKE) -C build debug
|
|
|
|
build_examples:
|
|
$(MAKE) -C build examples
|
|
|
|
build_test:
|
|
$(MAKE) -C build test
|
|
|
|
build_smart:
|
|
$(MAKE) -C build smart
|
|
|
|
build_shared:
|
|
$(MAKE) -C build shared
|
|
|
|
build_showinstall:
|
|
$(MAKE) -C build showinstall
|
|
|
|
build_install:
|
|
$(MAKE) -C build install
|
|
|
|
build_sourceinstall:
|
|
$(MAKE) -C build sourceinstall
|
|
|
|
build_zipinstall:
|
|
$(MAKE) -C build zipinstall
|
|
|
|
build_zipinstalladd:
|
|
$(MAKE) -C build zipinstalladd
|
|
|
|
build_clean:
|
|
$(MAKE) -C build clean
|
|
|
|
build_cleanall:
|
|
$(MAKE) -C build cleanall
|
|
|
|
build_depend:
|
|
$(MAKE) -C build depend
|
|
|
|
build_info:
|
|
$(MAKE) -C build info
|
|
endif
|
|
|
|
#####################################################################
|
|
# Users rules
|
|
#####################################################################
|
|
|
|
.PHONY: examples
|
|
|
|
examples:
|
|
$(MAKE) examples_all
|