# # 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