#
#	@(#)Makefile (libcpp1)
#		GNU make 
#
#	C++ ץꥱ饤֥
#	(C) Copyright 2000-2001 by Personal Media Corporation
#
#	make ˡ
#	make
#		꡼ѤǤ
#	make mode=debug
#		ǥХåѤ˺
#	make clean
#		make ǺƤΥե
#	make install
#		ξ˥󥹥ȡ
#

# 饤֥С
LIB_VERSION = 1

# ΰ¸طե (ư)
DEPS = Dependencies
DEPENDENCIES_OUTPUT := $(DEPS)

# 饤֥ɸ롼
include ../../etc/makerules

# ----------------------------------------------------------------------------

# о
TARGET.a  = libcpp1.a
TARGET.so = libcpp1.so.$(LIB_VERSION)

# եΥѥ
S = ../src
VPATH = $S

# ե
SRC =	tadio.cc fileio.cc trayio.cc tadstr.cc \
	tadview.cc tadsel.cc tadseg.cc coord.cc \
	chcnv.cc chcnv2.cc chcnv3.cc chcnv4.cc chcnv5.cc \
	base64.cc qprint.cc \
	bqueue.cc bstr.cc tcstr.cc memio.cc \
	drawstr.cc panelbg.cc errpanel.cc waitmsg.cc tads.cc \
	window.cc appl_ep.cc

OBJ	= $(addsuffix .o, $(basename $(SRC)))
SRC.C	 = $(strip $(patsubst %.C,  %.c,  $(filter %.C,  $(SRC))))
SRC.C	+= $(strip $(patsubst %.CC, %.cc, $(filter %.CC, $(SRC))))

# C++ ѥإåǥ쥯ȥɲ
HEADER += $(BD)/include/cpp

# ץ
CFLAGS += $(CFLAGS_WARNING) -Wno-uninitialized

ifeq ($(mode), debug)
  CFLAGS += -O2
  CPPFLAGS += -D$(USER)
endif

# ----------------------------------------------------------------------------

.PHONY: all clean install

ifeq ($(LIBTYPE), so)
  ALL = $(TARGET.so) $(TARGET.so).map
else
  ALL = $(TARGET.a)
endif

all: $(ALL)

$(TARGET.a): $(OBJ)
	$(AR) $(ARFLAGS) $@ $?
  ifdef RANLIB
	$(RANLIB) $@
  endif

$(TARGET.so): $(OBJ)
	$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)

clean:
	$(RM) $(OBJ) $(SRC.C:%.C=%.c) $(ALL) $(DEPS)

install: $(addprefix $(LIB_INSTALLDIR)/, $(ALL))
ifeq ($(LIBTYPE), so)
install: $(addprefix $(EXE_INSTALLDIR)/, $(ALL))
endif

# ΰ¸ط
ifdef DEPENDENCIES_OUTPUT
  $(DEPS): ; touch $(DEPS)
else
  $(DEPS): $(SRC) ; $(MAKEDEPS) $@ $?
endif
include $(DEPS)

$(SRC.C:%.C=%.c):
