#
#	@(#)Makefile (libstlport) 2001-07-06
#
#	STLport for B-right/V
#
#	(C) Copyright 2001 by Personal Media Corporation
#
#	Copyright (c) 1994 Hewlett-Packard Company
#	Copyright (c) 1996-1999 Silicon Graphics Computer Systems, Inc.
#	Copyright (c) 1997 Moscow Center for SPARC Technology
#	Copyright (c) 1999, 2000 Boris Fomitchev
#	(see STLport-4.0/README)
#
#	make ˡ
#	make
#		꡼ѤǤ
#	make mode=debug
#		ǥХåѤ˺
#	make clean
#		make Ǻ٤ƤΥե
#	make install
#		ξ˥󥹥ȡ
#

gcc = 2.95

# 饤֥С
LIB_VERSION = 1

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

# 饤֥ɸ롼
ifndef BD
  include ../../etc/makerules
else
  include $(BD)/lib/etc/makerules
endif

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

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

# ꥸʥǥ쥯ȥ
STLPORTDIR = ../STLport-4.0

# եΥѥ
LIBSRCDIR = ../src $(STLPORTDIR)/src
VPATH = $(LIBSRCDIR)

# STLportե
PATH_SEP=/
COMP=dummy
OBJEXT=o
include $(STLPORTDIR)/src/common_macros.mak

#EXCLUDE_FILE = num_put_float.o
#STLOBJ	= $(filter-out $(EXCLUDE_FILE), $(notdir $(RELEASE_OBJECTS_static)))
#STLSRC = $(addsuffix .cpp, $(basename $(STLOBJ)))
STLSRC = \
 complex.cpp \
 complex_exp.cpp \
 complex_io.cpp \
 complex_trig.cpp \
 dll_main.cpp \
 range_errors.cpp \
 string.cpp \
 ios_base.cpp \
 ios.cpp \
 streambuf.cpp \
 stdio_streambuf.cpp \
 iostream.cpp \
 fstream.cpp \
 strstream.cpp \
 sstream.cpp \
 c_locale_stub.cpp \
 c_locale.c \
 codecvt.cpp \
 codecvt_byname.cpp \
 collate.cpp \
 collate_byname.cpp \
 ctype.cpp \
 ctype_byname.cpp \
 locale.cpp \
 locale_catalog.cpp \
 locale_impl.cpp \
 message_facets.cpp \
 monetary.cpp \
 money_get.cpp \
 money_put.cpp \
 moneypunct.cpp \
 moneypunct_byname.cpp \
 num_get.cpp \
 num_get_float.cpp \
 num_get_inst.cpp \
 num_put.cpp \
 num_put_float.cpp \
 num_put_inst.cpp \
 numpunct.cpp \
 numpunct_byname.cpp \
 time_facets.cpp \
 time_get.cpp \
 time_put.cpp \
 complex_io_w.cpp \
 string_w.cpp \
 ctype_byname_w.cpp \
 fstream_w.cpp \
 codecvt_w.cpp \
 collate_byname_w.cpp \
 collate_w.cpp \
 ctype_w.cpp \
 ios_w.cpp \
 message_facets_w.cpp \
 money_get_w.cpp \
 money_put_w.cpp \
 moneypunct_byname_w.cpp \
 moneypunct_w.cpp \
 num_get_inst_w.cpp \
 num_put_inst_w.cpp \
 numpunct_w.cpp \
 time_get_w.cpp \
 time_put_w.cpp

# ե
BRVSRC = mktime.c setlocale.c brightv_io.c brightv_atomic.c \
	brightv_spinlock.c debug_message.cc \
	copysign.c finite.c isnan.c

SRC = $(STLSRC) $(BRVSRC)
# SRC.C	= $(filter %.C, $(SRC))

# ֥ȥե
OBJ	= $(addsuffix .o, $(basename $(SRC)))

# إåե
HEADER += $(STLPORTDIR)/stlport ../src

# ѥץ
WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32

CFLAGS += $(WARNING_FLAGS) -D__USE_IOSTREAMS

# .cpp
%.o: %.cpp; $(.o.cpp)
  define .o.cpp
	@$(CUTDEPS)
	$(COMPILE.cc) $< $(OUTPUT_OPTION)
  endef

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

.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)

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

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

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

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


