WS_INST_DIR = /SYS/unix
WS_DEFAULT_DIR = /SYS/unix/ws
ARCH = -DWS_DEFAULT_DIR=\"$(WS_DEFAULT_DIR)\" -DBTRON -DPCAT
CC1 = gcc386
CC = gcc386
STLD = gcc386
DEBUG = -g -ggdb -Wall -Wno-format -DDEBUG
DEBUG2 = -O3 -Wall -Wno-format
DEBUG_DLL = -g -ggdb -Wall -Wno-format -fPIC -DDEBUG
DEBUG2_DLL = -O3 -Wall -Wno-format -fPIC
OBJDIR = ./debug
OBJDIR2 = ./runtime
OBJDIR-st = ./debug-st
OBJDIR2-st = ./runtime-st
C++FLAGS = $(DEBUG) -DFUNCPROTO -DXTFUNCPROTO $(INCLUDE) $(ARCH)
C++FLAGS2 = $(DEBUG2) -DFUNCPROTO -DXTFUNCPROTO $(INCLUDE) $(ARCH)
C++FLAGS_DLL = $(DEBUG_DLL) -DFUNCPROTO -DXTFUNCPROTO $(INCLUDE) $(ARCH)
C++FLAGS2_DLL = $(DEBUG2_DLL) -DFUNCPROTO -DXTFUNCPROTO $(INCLUDE) $(ARCH)
STFLAGS = -r -nostdlib
RANLIB = ranlib
SHARED = -shared -Wl,-soname,
KINPUT2 =
LIBS =  -L../../lib -lws -lwsc -lwsx11 -lwsb -lwsad -lpthread
LIBSD =  -L../../lib -lwsd -lwscd -lwsx11d -lwsbd -lwsadd -lpthread
XINCS = 
XLIBS = 
INCJPG =
LIBJPG = -L/usr/X11R6/lib -ljpeg 
INCPNG =
LIBPNG = -L/usr/X11R6/lib -lpng -lz
INCXPM =
LIBXPM = -L/usr/X11R6/lib -lXpm
STRIP = echo
LIBM = -lm
SOCKLIB = 
EXTLIB =



#
#	@(#)makerules (common)
#		GNU make 
#
#	 ɸ롼
#	(C) Copyright 1995-2001 by Personal Media Corporation
#
#	ˡ
#	ᥤ Makefile ǲѿɬפ˱ꤷƤ顢
#	Υե include 롣
#
#	ȥǥ쥯ȥ̾ϼηȤˤΥץ
#	Ǥ롣
#
#		machine.opt1.opt2...optn
#
#	Ƭ̾ǡθ . Ƕڤäƥץꤹ롣
#	ץοӽ¤̵
#	make Υޥɥ饤 Makefile ǥץ󤬻ꤵƤ
#	餬ͥ褵롣
#
#	MACHINE	оݵ (άǽ)
#		pcat	PC-AT		(i386)
#		sun4	Sparc Solaris	(sparc)
#		linux	Linux		(i386)
#		i86pc	Solaris x86	(Solaris2.6 for x86 Sun/OS 5.6)
#		freebsd	FreeBSD		(i386)
#	     	άϥȥǥ쥯ȥ̾鵡̾ꤵ롣
#		() xxx/yyy/pcat -> pcat
#
#	BD	ȯĶΥ١ǥ쥯ȥ (άǽ)
#		/usr/local/brightv	(άΥǥե)
#
#	mode	ѥ⡼ (άǽ)
#		()	꡼ѥѥ
#		debug	ǥХåѥѥ
#	     	άϥȥǥ쥯ȥ̾Υץ󤫤ꤵ롣
#		() xxx/yyy/pcat.debug  ->  debug
#
#	Ķѿˤ
#	BD ϴĶѿˤäƻꤹ뤳ȤǤ롣
#	BD Ķѿǻꤷ硢ΥġΥǥ쥯ȥĶѿ
#	ꤹɬפ롣(ɬפʤΤǲ)
#
#	GNUs		ȯޥѤ GNU Ϣġ
#			(/usr/local/bin ξϻ)
#	GNU_BD		ȯ GNU ϢġΥ١ǥ쥯ȥ
#	GNUi386		i386 Ѥ GNU Ϣġ
#
#	 makerules Ѥ뤿ˤϡΥġ뤬ɬפǤ롣
#
#	GNU make	version 3.74
#	perl		version 4.0
#	jperl		version 4.019 + 1.3(EUC)
#
#	perl, jperl ϡɬ /usr/local/bin ˤʤФʤʤ
#	make ϡ$(GNUs)/bin  /usr/local/bin ˤʤФʤʤ
#	СΤƱΤǤʤƤɤȻפ롣
#

.EXPORT_ALL_VARIABLES:
.SUFFIXES:

# ȥǥ쥯ȥ̾ˤ륪ץ
options := $(subst ., ,$(notdir $(shell pwd)))

### άΥǥե ###

ifndef BD
  # ȯĶΥ١ǥ쥯ȥ
  BD := /usr/local/brightv
endif

ifndef MACHINE
  # оݵ
  MACHINE := $(firstword $(options))
endif

ifeq ($(origin mode), undefined)
  # ѥ⡼
  mode := $(filter debug, $(options))
endif

### ǥ쥯ȥ ###

# ѥ饤֥Υǥ쥯ȥ
COMMONLIB      = $(BD)/lib/i386e2

# 饤֥򥤥󥹥ȡ뤹ǥ쥯ȥ
LIB_INSTALLDIR = $(COMMONLIB)

# ¹ԥץ򥤥󥹥ȡ뤹ǥ쥯ȥ
EXE_INSTALLDIR = $(BD)/bin/$(MACHINE)

### ѥ뤹ޥεĶ ###

#	CROSS_ARCH	Sparc ΤȤ sun4m
#			Ultra ΤȤ sun4u
#			i86pc ΤȤ i86pc
#			Linux ΤȤ Linux
#			FreeBSDΤȤ FreeBSD
#	CCS		/usr/ccs ¸ߤȤ ccs/
#			¸ߤʤȤ϶

CROSS_ARCH := $(shell uname)
ifeq ($(CROSS_ARCH), SunOS)
  CROSS_ARCH := $(shell arch -k)
endif
CCS := $(shell test -d /usr/ccs && echo ccs/)

# ѥ餪ӥġΥ١ǥ쥯ȥ
ifneq ($(origin BD), environment)
  GNUs := /usr
  GNU_BD  := $(BD)/tool/gnu
  GNUi386 := $(GNU_BD)/i386-unknown-gnu
  TOOL_ORIGIN = "file" "command line"
else
  # BD ĶѿꤵƤȤϡ
  # ġΥǥ쥯ȥĶѿѤ롣
  TOOL_ORIGIN = "environment" "command line"
endif

# ޥɥѥ
PATH = .
ifneq ($(findstring $(origin GNUi386), $(TOOL_ORIGIN)), )
  PATH := $(PATH):$(GNUi386)/bin
endif
ifneq ($(findstring $(origin GNUs), $(TOOL_ORIGIN)), )
  PATH := $(PATH):$(GNUs)/bin
endif
PATH := $(PATH):/usr/local/bin:/usr/ucb:/usr/bin:/bin
ifdef CCS
  PATH := $(PATH):/usr/$(CCS)bin
endif

### ¸եϢ ###

# ¸եμưޥ
MAKEDEPS = $(BD)/etc/makedeps $(TARGET_ARCH) $(CPPFLAGS)

# DEPENDENCIES_OUTPUT ƤȤϡ
# gcc ѥ˼ưŪ˰¸ط񤭽Ф
ifdef DEPENDENCIES_OUTPUT
  # ¸ե뤫Ť¸ط
  CUTDEPS = $(BD)/etc/makedeps -r $(DEPENDENCIES_OUTPUT) $@
else
  CUTDEPS =
endif

### ¾ ###

RM = rm -f
CP = cp
PERL = jperl
MKBTF = $(BD)/etc/mkbtf
BACKUP = $(BD)/etc/backup_copy
ifneq ($(findstring $(CROSS_ARCH), sun4m sun4u i86pc), )
  CPP = /usr/$(CCS)lib/cpp
else
  ifeq ($(CROSS_ARCH), FreeBSD)
    CPP = /usr/libexec/cpp
  else
    CPP = /lib/cpp
  endif
endif

### إåեΥǥ쥯ȥ ###
HEADER = $(BD)/include

### ¹ԥץΥ󥹥ȡ ###
$(EXE_INSTALLDIR)/%: %
	$(BACKUP) -t -d !OLD $< $(EXE_INSTALLDIR)

define EXE_INSTALL_BZCOMP
	$(BACKUP) -t -d !OLD $< $(EXE_INSTALLDIR)
	$(STRIP) $@
	$(BD)/etc/bzcomp -v $@
endef

define EXE_INSTALL_STRIP
	$(BACKUP) -t -d !OLD $< $(EXE_INSTALLDIR)
	$(STRIP) $@
endef

### ȯġΥ󥹥ȡ ###
TOOL_INSTALLDIR = $(BD)/etc
$(TOOL_INSTALLDIR)/%: %
	$(BACKUP) -t $< $(TOOL_INSTALLDIR)
	$(STRIP) $@

#------ PC-AT Ѥ ------------------------------------------------
ifeq ($(MACHINE), pcat)

#
# PC-AT ѥǥեȥ롼
#

# GCC ưĶ
TARGET_ARCH =

### C Ϣ ###
CC := $(GNUi386)/bin/gcc386
OUTPUT_OPTION = -o $@
ifeq ($(mode), debug)
  CFLAGS = -g
  CPPFLAGS = $(HEADER:%=-I%) -DPCAT -DDEBUG
else
  CFLAGS = -O2
  CPPFLAGS = $(HEADER:%=-I%) -DPCAT
endif

CFLAGS_WARNING = -Wall -Wno-format -Wno-main
CFLAGS_WARNING_FULL = -pedantic -W -Wall -Wno-format -Wno-main
CFLAGS2 = -mpreferred-stack-boundary=2

# gcc 2.95 ץƥޥΥХк
CFLAGS += -fno-strength-reduce
CFLAGS += $(CFLAGS2)

COMPILE.c = $(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -c
LINK.c = $(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)

%.o: %.c; $(.o.c)
  define .o.c
	@$(CUTDEPS)
	$(COMPILE.c) $< $(OUTPUT_OPTION)
  endef

%.s: %.c; $(.s.c)
  define .s.c
	$(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -S $<
  endef

%.i: %.c
	$(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -E $< $(OUTPUT_OPTION)

### C++ Ϣ ###
CXX := $(GNUi386)/bin/gcc386
CXXFLAGS = $(CFLAGS)

COMPILE.cc = $(CXX) $(TARGET_ARCH) $(CXXFLAGS) $(CPPFLAGS) -c
LINK.cc = $(CXX) $(TARGET_ARCH) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)

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

%.s: %.cc; $(.s.cc)
  define .s.cc
	$(CXX) $(TARGET_ARCH) $(CXXFLAGS) $(CPPFLAGS) -S $<
  endef

%.i: %.cc
	$(CXX) $(TARGET_ARCH) $(CXXFLAGS) $(CPPFLAGS) -E $< $(OUTPUT_OPTION)

### ֥Ϣ ###
AS = $(GNUi386)/bin/as
ifeq ($(mode), debug)
  ASFLAGS = -g
else
  ASFLAGS =
endif

COMPILE.S = $(CC) $(TARGET_ARCH) $(ASFLAGS) $(CPPFLAGS) -c
COMPILE.s = $(AS) $(ASFLAGS)

%.o: %.S; $(.o.S)
  define .o.S
	@$(CUTDEPS)
	$(COMPILE.S) $< $(OUTPUT_OPTION)
  endef

%.o: %.s; $(.o.s)
  define .o.s
	$(COMPILE.s) $< $(OUTPUT_OPTION)
  endef

%.i: %.S
	$(CC) $(TARGET_ARCH) $(ASFLAGS) $(CPPFLAGS) -E $< $(OUTPUT_OPTION)

### 󥫴Ϣ ###
LD = $(GNUi386)/bin/ld
ifeq ($(mode), debug)
  LDFLAGS = $(LIBDIR:%=-L%)
else
  LDFLAGS = $(LIBDIR:%=-L%)
endif

LIBDIR = $(COMMONLIB)
LOADLIBES =
LDOBJS =
LDLIBS =

# ɲäΥ󥯥ץ
ifneq ($(filter sl, $(options)), )
  LDFLAGS2 = -static
else
  LDFLAGS2 =
endif
START_ADR =

# ¹ԥե
LINK.o = $(CC) $(TARGET_ARCH) $(LDFLAGS) $(LDFLAGS2) $(START_ADR)

# ñ˥֥ȥեޤȤΥ
LINK_R.o = $(CC) $(TARGET_ARCH) $(LDFLAGS) -r -nostdlib

%: %.o
	$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)

%.out: %.o
	$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)

### 饤֥Ϣ ###
AR = ar
ARFLAGS = rvl
RANLIB = $(GNUi386)/bin/ranlib

(%): %
	$(AR) $(ARFLAGS) $@ $%

### ͡ꥹȺ ###
NM = $(GNUi386)/bin/nm
NMFLAGS = -n

%.map: %
	$(NM) $(NMFLAGS) $< > $@

%.map: %.out
	$(NM) $(NMFLAGS) $< > $@

%.map: %.dll
	$(NM) $(NMFLAGS) $< > $@

### ǡܥåϢ ###
DBCPPFLAGS = -DPCAT
DB_CPP = $(CPP) -I$(BD)/appl/dbox $(DATABOX_HEADER:%=-I%) $(DBCPPFLAGS) -P
DB = $(BD)/etc/databox
DBFLAGS = -l
DATABOX = $(DB) $(DBFLAGS)

DATABOX_HEADER =

%.dbx: %.d
	$(DB_CPP) $< $@.tmp
	$(DATABOX) $@.tmp $@
	$(RM) $@.tmp

%.fsn: %.f
	$(DB_CPP) $< $@.tmp
	$(DATABOX) -n $@.tmp $@
	$(RM) $@.tmp

%.c: %.d
	$(DB_CPP) $< $@.tmp
	$(DATABOX) -n -s $@.tmp $@
	$(RM) $@.tmp

### ¾ ###
STRIP = $(GNUi386)/bin/strip --strip-unneeded

endif

#--------- i86pc Ѥ (ȯġ)-------------------------------
ifeq ($(MACHINE), i86pc)

#
# i86pc ѤΥǥեȥ롼
#

# GCC ưĶ
TARGET_ARCH =

### C Ϣ ###
CC := $(GNUs)/bin/gcc
OUTPUT_OPTION = -o $@
ifeq ($(mode), debug)
  CFLAGS =  -g -DBSD_COMP
  CPPFLAGS = $(HEADER:%=-I%) -DLINK_KERNEL -DDEBUG
else
   CFLAGS = -O -DBSD_COMP -I/usr/ucbinclude
   CPPFLAGS = $(HEADER:%=-I%) -DLINK_KERNEL
endif

COMPILE.c = $(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -c
LINK.c = $(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)

%.o: %.c; $(.o.c)
  define .o.c
	@$(CUTDEPS)
	$(COMPILE.c) $< $(OUTPUT_OPTION)
  endef

%.s: %.c; $(.s.c)
  define .s.c
	$(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -S $<
  endef

%.i: %.c
	$(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -E $< $(OUTPUT_OPTION)

### 󥫴Ϣ ###
LD = /usr/ccs/bin/ld
ifeq ($(mode), debug)
  LDFLAGS = -static $(LIBDIR:%=-L%)
else
  LDFLAGS = -static $(LIBDIR:%=-L%)
endif

LIBDIR =
LOADLIBES =
LDOBJS =
LDLIBS =

# ɲäΥ󥯥ץ
LDFLAGS2 =
START_ADR =

# ¹ԥե
LINK.o = $(CC) $(TARGET_ARCH) $(LDFLAGS) $(LDFLAGS2) $(START_ADR)

# ñ˥֥ȥեޤȤΥ
LINK_R.o = $(CC) $(TARGET_ARCH) $(LDFLAGS) -r -nostdlib

%: %.o
	$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)

%.out: %.o
	$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)

### ͡ꥹȺ ###
NM = /usr/ccs/bin/nm
NMFLAGS = -n

%.map: %
	$(NM) $(NMFLAGS) $< > $@

%.map: %.out
	$(NM) $(NMFLAGS) $< > $@

### ¾ ###
STRIP = /usr/ccs/bin/strip

endif

# ----- Sparc Ѥ --------------------------------------------
ifeq ($(MACHINE), sun4)

#
# Sparc ѤΥǥեȥ롼
#

# GCC ưĶ
TARGET_ARCH =

### C Ϣ ###
CC := $(GNUs)/bin/gcc
OUTPUT_OPTION = -o $@
ifeq ($(mode), debug)
  CFLAGS = -g
  CPPFLAGS = $(HEADER:%=-I%) -DSPARC -DLINK_KERNEL -DDEBUG
else
  CFLAGS = -O
  CPPFLAGS = $(HEADER:%=-I%) -DSPARC -DLINK_KERNEL
endif

COMPILE.c = $(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -c
LINK.c = $(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)

%.o: %.c; $(.o.c)
  define .o.c
	@$(CUTDEPS)
	$(COMPILE.c) $< $(OUTPUT_OPTION)
  endef

%.s: %.c; $(.s.c)
  define .s.c
	$(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -S $<
  endef

%.i: %.c
	$(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -E $< $(OUTPUT_OPTION)

### 󥫴Ϣ ###
LD = $(GNUs)/bin/ld
ifeq ($(mode), debug)
  LDFLAGS = -static $(LIBDIR:%=-L%)
else
  LDFLAGS = -static $(LIBDIR:%=-L%)
endif

LIBDIR = $(COMMONLIB)
LOADLIBES =
LDOBJS =
LDLIBS =

# ɲäΥ󥯥ץ
LDFLAGS2 =
START_ADR =

# ¹ԥե
LINK.o = $(CC) $(TARGET_ARCH) $(LDFLAGS) $(LDFLAGS2) $(START_ADR)

# ñ˥֥ȥեޤȤΥ
LINK_R.o = $(CC) $(TARGET_ARCH) $(LDFLAGS) -r -nostdlib

%: %.o
	$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)

%.out: %.o
	$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)

### ͡ꥹȺ ###
NM = $(GNUs)/bin/nm
NMFLAGS = -n

%.map: %
	$(NM) $(NMFLAGS) $< > $@

%.map: %.out
	$(NM) $(NMFLAGS) $< > $@

### ¾ ###
STRIP = $(GNUs)/bin/strip

endif

#--------- Linux Ѥ (ȯġ)-------------------------------
ifeq ($(MACHINE), linux)
#
# Linux ѤΥǥեȥ롼
#
# ޥɥѥ
PATH = .
ifneq ($(findstring $(origin GNUs), $(TOOL_ORIGIN)), )
  PATH := $(PATH):$(GNUs)/bin
endif
PATH := $(PATH):/usr/local/bin:/usr/bin:/bin

# GCC ưĶ
# TARGET_ARCH =

### C Ϣ ###
CC := $(GNUs)/bin/gcc
OUTPUT_OPTION = -o $@
ifeq ($(mode), debug)
  CFLAGS = -g
  CPPFLAGS = $(HEADER:%=-I%) -DLINK_KERNEL -DDEBUG
else
  CFLAGS = -O
  CPPFLAGS = $(HEADER:%=-I%) -DLINK_KERNEL
endif

COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)

%.o: %.c; $(.o.c)
  define .o.c
	@$(CUTDEPS)
	$(COMPILE.c) $< $(OUTPUT_OPTION)
  endef

%.s: %.c; $(.s.c)
  define .s.c
	$(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -S $<
  endef

%.i: %.c
	$(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -E $< $(OUTPUT_OPTION)

### 󥫴Ϣ ###
LD = $(GNUs)/bin/ld
ifeq ($(mode), debug)
  LDFLAGS =
else
  LDFLAGS =
endif

LIBDIR =
LOADLIBES =
LDOBJS =
LDLIBS =

# ɲäΥ󥯥ץ
LDFLAGS2 =
START_ADR =

# ¹ԥե
LINK.o = $(CC) $(LDFLAGS) $(LDFLAGS2) $(START_ADR)

# ñ˥֥ȥեޤȤΥ
LINK_R.o = $(CC) $(LDFLAGS) -r -nostdlib

%: %.o
	$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)

%.out: %.o
	$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)

### ͡ꥹȺ ###
NM = $(GNUs)/bin/nm
NMFLAGS = -n

%.map: %
	$(NM) $(NMFLAGS) $< > $@

%.map: %.out
	$(NM) $(NMFLAGS) $< > $@

### ¾ ###
STRIP = $(GNUs)/bin/strip

endif

#--------- FreeBSD Ѥ (ȯġ)-------------------------------
ifeq ($(MACHINE), freebsd)
#
# FreeBSD ѤΥǥեȥ롼
#
# ޥɥѥ
PATH = .
ifneq ($(findstring $(origin GNUs), $(TOOL_ORIGIN)), )
  PATH := $(PATH):$(GNUs)/bin
endif
PATH := $(PATH):/usr/local/bin:/usr/bin:/bin

# GCC ưĶ
# TARGET_ARCH =

### C Ϣ ###
CC := $(GNUs)/bin/gcc
OUTPUT_OPTION = -o $@
ifeq ($(mode), debug)
  CFLAGS = -g
  CPPFLAGS = $(HEADER:%=-I%) -DLINK_KERNEL -DDEBUG
else
  CFLAGS = -O
  CPPFLAGS = $(HEADER:%=-I%) -DLINK_KERNEL
endif

COMPILE.c = $(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -c
LINK.c = $(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)

%.o: %.c; $(.o.c)
  define .o.c
	@$(CUTDEPS)
	$(COMPILE.c) $< $(OUTPUT_OPTION)
  endef

%.s: %.c; $(.s.c)
  define .s.c
	$(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -S $<
  endef

%.i: %.c
	$(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -E $< $(OUTPUT_OPTION)

### 󥫴Ϣ ###
LD = $(GNUs)/bin/ld
ifeq ($(mode), debug)
  LDFLAGS = $(LIBDIR:%=-L%)
else
  LDFLAGS = $(LIBDIR:%=-L%)
endif

LIBDIR =
LOADLIBES =
LDOBJS =
LDLIBS =

# ɲäΥ󥯥ץ
LDFLAGS2 =
START_ADR =

# ¹ԥե
LINK.o = $(CC) $(TARGET_ARCH) $(LDFLAGS) $(LDFLAGS2) $(START_ADR)

# ñ˥֥ȥեޤȤΥ
LINK_R.o = $(CC) $(TARGET_ARCH) $(LDFLAGS) -r -nostdlib

%: %.o
	$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)

%.out: %.o
	$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)

### ͡ꥹȺ ###
NM = $(GNUs)/bin/nm
NMFLAGS = -n

%.map: %
	$(NM) $(NMFLAGS) $< > $@

%.map: %.out
	$(NM) $(NMFLAGS) $< > $@

### ¾ ###
STRIP = $(GNUs)/bin/strip

endif

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

### 磻ɥ饯 TRON ʸɤѴ ###
WCH2HEX = $(BD)/etc/wch2hex -t

%.c: %.C
	$(WCH2HEX) $< $(OUTPUT_OPTION)

%.cc: %.CC
	$(WCH2HEX) $< $(OUTPUT_OPTION)

### 饤֥Υ󥹥ȡ ###
$(LIB_INSTALLDIR)/%.a: %.a
	$(BACKUP) -t $< $(LIB_INSTALLDIR)
  ifdef RANLIB
	$(RANLIB) $@
  endif

$(LIB_INSTALLDIR)/%: %
	$(BACKUP) -t $< $(LIB_INSTALLDIR)

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


#
#	@(#)makerules (appl)
#		GNU make 
#
#	ץꥱɸ롼
#	(C) Copyright 1995-2001 by Personal Media Corporation
#
#	ˡ
#	ᥤ Makefile ǲѿɬפ˱ꤷƤ顢
#	Υե include 롣
#
#	MACHINE	оݵ
#	BD	ȯĶΥ١ǥ쥯ȥ
#	mode	ѥ⡼
#
#	 ܺ٤ϡ$(BD)/etc/makerules 򻲾ȤΤȡ
#
#	USE_MT		ޥб饤֥ѤȤ 1
#	USE_CPP 	C++ ѤȤ 1
#	USE_LIBSTL	C++ STL 饤֥ѤȤ 1
#	USE_LIBCPP	C++ ץꥱ饤֥ѤȤ
#			ѤСֹꤹ롣
#			() USE_LIBCPP = 1
#	ѤʤȤ USE_xxx ʤȤ롣
#
#	MAKE_DLL	DLL (Dynamic Link Library) Ȥ 1
#

### άΥǥե ###
ifndef BD
  # ȯĶΥ١ǥ쥯ȥ
  BD := /usr/local/brightv
endif

###  ɸ롼 ###
include $(BD)/etc/makerules

#
#	ʲϡ ɸ롼ȰۤʤʬΤԤ
#

### ץꥱ̥إåǥ쥯ȥ꡼λ ###
HEADER = $(BD)/include

ifdef USE_CPP
  HEADER := $(BD)/include/cpp $(HEADER)
endif

ifdef USE_LIBCPP
  DATABOX_HEADER += $(BD)/include/cpp
endif

#
# PC-AT ѤΥǥեȥ롼
#

# CPU  (i386)
CPU_TYPE = 0x163

### ץꥱѥ饤֥ ###
LOADLIBES =
LDOBJS =
LDLIBS = -lapp -ltf -lgcc -lmain -ldbg -llang -lg -lsys -lg -lf -lsvc

ifdef USE_LIBCPP
  LDLIBS := $(USE_LIBCPP:%=-lcpp%) $(LDLIBS)
endif
ifdef USE_LIBSTL
  LDLIBS := -lstlport $(LDLIBS)
endif
ifdef MAKE_DLL
  LDLIBS := $(patsubst -lmain,-lshare, $(LDLIBS)) -lgcc
endif
ifdef USE_MT
  # ޥб饤֥
  LDLIBS := $(patsubst -lmain,-lmain_r, $(LDLIBS))
endif
#	stlport	C++ STL 饤֥
#	cpp	C++ ץꥱ饤֥
#	app	ץꥱ饤֥
#	tf	TRON Code Framework
#	gcc	ѥ(gcc)°饤֥
#	main	ץѥ饤֥ (ȥå״Ϣʤ)
#	dbg	ǥХåݡȥ饤֥
#	lang	¿饤֥
#	g	C ɸ饤֥
#	sys	ƥ饤֥
#	f	¿黻饤֥
#	svc	OS ˥󥿡ե饤֥

ifdef MAKE_DLL
  ### DLL  ѥ롿󥯥ץ ###
  CFLAGS += -fPIC
  ifeq ($(MAKE_DLL), -1)
    # ̤ܥθ (¹ԤϤǤʤΤ)
    LDFLAGS2 = -rdynamic -nostdlib -Wl,--defsym,_start=0
  else
    LDFLAGS2 = -shared
  endif
endif
