#
# Makefile generated by fpcmake v0.99.15 [2000/07/02]
#

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 searched separated by spaces
ifdef inlinux
SEARCHPATH=$(subst :, ,$(PATH))
else
SEARCHPATH=$(subst ;, ,$(PATH))
endif

# Base dir
ifdef PWD
BASEDIR:=$(shell $(PWD))
else
BASEDIR=.
endif

#####################################################################
# FPC version/target Detection
#####################################################################

# What compiler to use ?
ifndef FPC
# Compatibility with old makefiles
ifdef PP
FPC=$(PP)
else
ifdef inOS2
FPC=ppos2
else
FPC=ppc386
endif
endif
endif
override FPC:=$(subst $(EXEEXT),,$(FPC))
override FPC:=$(subst \,/,$(FPC))$(EXEEXT)

# Target OS
ifndef OS_TARGET
OS_TARGET:=$(shell $(FPC) -iTO)
endif

# Source OS
ifndef OS_SOURCE
OS_SOURCE:=$(shell $(FPC) -iSO)
endif

# Target CPU
ifndef CPU_TARGET
CPU_TARGET:=$(shell $(FPC) -iTP)
endif

# Source CPU
ifndef CPU_SOURCE
CPU_SOURCE:=$(shell $(FPC) -iSP)
endif

# FPC version
ifndef FPC_VERSION
FPC_VERSION:=$(shell $(FPC) -iV)
endif

export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION

#####################################################################
# FPCDIR Setting
#####################################################################

# Test FPCDIR to look if the RTL dir exists
ifdef FPCDIR
override FPCDIR:=$(subst \,/,$(FPCDIR))
ifeq ($(wildcard $(FPCDIR)/rtl),)
ifeq ($(wildcard $(FPCDIR)/units),)
override FPCDIR=wrong
endif
endif
else
override FPCDIR=wrong
endif

# Detect FPCDIR
ifeq ($(FPCDIR),wrong)
ifdef inlinux
override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
ifeq ($(wildcard $(FPCDIR)/units),)
override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
endif
else
override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
override FPCDIR:=$(FPCDIR)/..
ifeq ($(wildcard $(FPCDIR)/rtl),)
ifeq ($(wildcard $(FPCDIR)/units),)
override FPCDIR:=$(FPCDIR)/..
ifeq ($(wildcard $(FPCDIR)/rtl),)
ifeq ($(wildcard $(FPCDIR)/units),)
override FPCDIR=c:/pp
endif
endif
endif
endif
endif
endif

#####################################################################
# User Settings
#####################################################################


# Targets

override DIROBJECTS+=$(wildcard kclshedit glpaintbox)

# Clean


# Install

ZIPTARGET=install

# Defaults


# Directories


# Packages


# Libraries




#####################################################################
# Default Directories
#####################################################################

# set the prefix directory where to install everything
ifndef PREFIXINSTALLDIR
ifdef inlinux
PREFIXINSTALLDIR=/usr
else
PREFIXINSTALLDIR=/pp
endif
endif
export PREFIXINSTALLDIR

# Where to place the resulting zip files
ifndef DESTZIPDIR
DESTZIPDIR:=$(BASEDIR)
endif
export DESTZIPDIR

#####################################################################
# Redirection
#####################################################################

ifndef REDIRFILE
REDIRFILE=log
endif

ifdef REDIR
ifndef inlinux
override FPC=redir -eo $(FPC)
endif
# set the verbosity to max
override FPCOPT+=-va
override REDIR:= >> $(REDIRFILE)
endif

#####################################################################
# Standard rules
#####################################################################

all: $(addsuffix _all,$(DIROBJECTS))

debug: $(addsuffix _debug,$(DIROBJECTS))

smart: $(addsuffix _smart,$(DIROBJECTS))

shared: $(addsuffix _shared,$(DIROBJECTS))

showinstall: $(addsuffix _showinstall,$(DIROBJECTS))

install: $(addsuffix _install,$(DIROBJECTS))

clean: $(addsuffix _clean,$(DIROBJECTS))

distclean: $(addsuffix _distclean,$(DIROBJECTS))

cleanall: $(addsuffix _cleanall,$(DIROBJECTS))

require: $(addsuffix _require,$(DIROBJECTS))

.PHONY:  all debug smart shared showinstall install clean distclean cleanall require

#####################################################################
# Directories
#####################################################################

OBJECTDIRKCLSHEDIT=1
OBJECTDIRGLPAINTBOX=1

# Dir kclshedit

ifdef OBJECTDIRKCLSHEDIT
.PHONY:  kclshedit_all kclshedit_debug kclshedit_examples kclshedit_test kclshedit_smart kclshedit_shared kclshedit_showinstall kclshedit_install kclshedit_sourceinstall kclshedit_exampleinstall kclshedit_zipinstall kclshedit_zipsourceinstall kclshedit_zipexampleinstall kclshedit_clean kclshedit_distclean kclshedit_cleanall kclshedit_require kclshedit_info

kclshedit_all:
	$(MAKE) -C kclshedit all

kclshedit_debug:
	$(MAKE) -C kclshedit debug

kclshedit_examples:
	$(MAKE) -C kclshedit examples

kclshedit_test:
	$(MAKE) -C kclshedit test

kclshedit_smart:
	$(MAKE) -C kclshedit smart

kclshedit_shared:
	$(MAKE) -C kclshedit shared

kclshedit_showinstall:
	$(MAKE) -C kclshedit showinstall

kclshedit_install:
	$(MAKE) -C kclshedit install

kclshedit_sourceinstall:
	$(MAKE) -C kclshedit sourceinstall

kclshedit_exampleinstall:
	$(MAKE) -C kclshedit exampleinstall

kclshedit_zipinstall:
	$(MAKE) -C kclshedit zipinstall

kclshedit_zipsourceinstall:
	$(MAKE) -C kclshedit zipsourceinstall

kclshedit_zipexampleinstall:
	$(MAKE) -C kclshedit zipexampleinstall

kclshedit_clean:
	$(MAKE) -C kclshedit clean

kclshedit_distclean:
	$(MAKE) -C kclshedit distclean

kclshedit_cleanall:
	$(MAKE) -C kclshedit cleanall

kclshedit_require:
	$(MAKE) -C kclshedit require

kclshedit_info:
	$(MAKE) -C kclshedit info
endif

# Dir glpaintbox

ifdef OBJECTDIRGLPAINTBOX
.PHONY:  glpaintbox_all glpaintbox_debug glpaintbox_examples glpaintbox_test glpaintbox_smart glpaintbox_shared glpaintbox_showinstall glpaintbox_install glpaintbox_sourceinstall glpaintbox_exampleinstall glpaintbox_zipinstall glpaintbox_zipsourceinstall glpaintbox_zipexampleinstall glpaintbox_clean glpaintbox_distclean glpaintbox_cleanall glpaintbox_require glpaintbox_info

glpaintbox_all:
	$(MAKE) -C glpaintbox all

glpaintbox_debug:
	$(MAKE) -C glpaintbox debug

glpaintbox_examples:
	$(MAKE) -C glpaintbox examples

glpaintbox_test:
	$(MAKE) -C glpaintbox test

glpaintbox_smart:
	$(MAKE) -C glpaintbox smart

glpaintbox_shared:
	$(MAKE) -C glpaintbox shared

glpaintbox_showinstall:
	$(MAKE) -C glpaintbox showinstall

glpaintbox_install:
	$(MAKE) -C glpaintbox install

glpaintbox_sourceinstall:
	$(MAKE) -C glpaintbox sourceinstall

glpaintbox_exampleinstall:
	$(MAKE) -C glpaintbox exampleinstall

glpaintbox_zipinstall:
	$(MAKE) -C glpaintbox zipinstall

glpaintbox_zipsourceinstall:
	$(MAKE) -C glpaintbox zipsourceinstall

glpaintbox_zipexampleinstall:
	$(MAKE) -C glpaintbox zipexampleinstall

glpaintbox_clean:
	$(MAKE) -C glpaintbox clean

glpaintbox_distclean:
	$(MAKE) -C glpaintbox distclean

glpaintbox_cleanall:
	$(MAKE) -C glpaintbox cleanall

glpaintbox_require:
	$(MAKE) -C glpaintbox require

glpaintbox_info:
	$(MAKE) -C glpaintbox info
endif

#####################################################################
# Local Makefile
#####################################################################

ifneq ($(wildcard fpcmake.loc),)
include fpcmake.loc
endif

