## Copyright 1992 OTC LIMITED
## Copyright 1995 DUMPLETON SOFTWARE CONSULTING PTY LIMITED

## Initialisation.

ifeq "$(SRCDIR)" ""
SRCDIR := .
endif

BLDROOT := ../../..
SRCROOT := $(SRCDIR)/$(BLDROOT)

MODULES := c cc check install
MAKEIT_OPTIONS := purify shlib
CHECK_OPTIONS := short_suffixes

include $(SRCROOT)/project/init.mk

## Local definitions.

PROGRAMS := _string _record _globex _regex _regexp _symbol _tracepat

CPPFLAGS += -I../../../include

ifneq "$(_makeit_cxx_supports_precompiled_templates)" "YES"
EXCLUDE += $(filter t_otc_%.cc,$(SRCFILES))
endif

ifeq "$(filter OS%,$(C++COMPILER))" ""
EXCLUDE += t_otc_01_04.cc
endif

ifeq "$(_makeit_cxx_supports_cafe_repositories)" "YES"
override MKPTR := ../$(MK).ptr
endif

LDLIBS += \
 ../collctn/$(MK)/lib$(LIBEXT) \
 ../refcnt/$(MK)/lib$(LIBEXT) \
 ../memory/$(MK)/lib$(LIBEXT) \
 ../debug/$(MK)/lib$(LIBEXT)

ifeq "$(C++COMPILERENV)" "OSTORE"
LDLIBS += ../ostore/$(MK)/lib$(LIBEXT)
else
ifneq "$(filter OS%,$(C++COMPILER))" ""
LDLIBS += ../ostore/$(MK)/lib$(LIBEXT)
endif
endif

ifneq "$(filter -DHAVE_%_THREADS,$($(C++COMPILER)_CPPFLAGS))" ""
LDLIBS += ../thread/$(MK)/lib$(LIBEXT)
endif

ifneq "$(_makeit_cxx_supports_ansi_exceptions)" "YES"
ifneq "$(C++COMPILERENV)" "VERSANT"
LDLIBS += ../ansi/$(MK)/lib$(LIBEXT)
endif
endif

LDLIBS += ../../OSE/$(WSPREFIX)$(MKTAG)_opt/lib$(LIBEXT)

SCHEMAS := os_schema.cc

ifneq "$(filter 1% 2% 3%,$(OS_VERSION))" ""
ifneq "$(SCHEMA_DB_DIR)" ""
OS_COMPILATION_SCHEMA_DB_PATH := $(SCHEMA_DB_DIR)/libOTC_$(VARIANT).libschema
OS_APPLICATION_SCHEMA_DB_PATH := $(SCHEMA_DB_DIR)/appl_$(VARIANT).schema
else
OS_COMPILATION_SCHEMA_DB_PATH := ../libOTC_$(VARIANT).libschema
OS_APPLICATION_SCHEMA_DB_PATH := $(MK)/appl_$(VARIANT).schema
endif
else
ifneq "$(SCHEMA_DB_DIR)" ""
OS_COMPILATION_SCHEMA_DB_PATH := $(SCHEMA_DB_DIR)/libOTC_$(VARIANT).cdb
OS_APPLICATION_SCHEMA_DB_PATH := $(SCHEMA_DB_DIR)/appl_$(VARIANT).adb
else
OS_COMPILATION_SCHEMA_DB_PATH := ../libOTC_$(VARIANT).cdb
OS_APPLICATION_SCHEMA_DB_PATH := $(MK)/appl_$(VARIANT).adb
endif
endif

## Makeit modules.

include $(SRCROOT)/project/modules.mk

## Local rules.

ifeq "$(OSE_BUILDALL)" "YES"
install.always :: mostlyclean

mostlyclean.always ::
	$(RM) $(MK)/lib.so
endif
