#"%Z% %M% %I% %E% %U%"

include ../../os_depend.mk
include ../../unix_command.mk
include ../../directory.mk
include ../../flags.mk

#---------------------------------------------------------------
#			for coal client
#---------------------------------------------------------------
COALHOME	= ../../..
COALSRC		= $(COALHOME)/src
COALBIN		= $(COALHOME)/bin
COALINC		= $(COALSRC)/include
COALAPL		= $(COALSRC)/appl
APLINC		= $(COALAPL)/include
#APLCOM		= $(COALAPL)/cmn

MINIHOME	= ../../../../coal_mini
MINISRC		= $(MINIHOME)/src
MINIAPL		= $(MINISRC)/appl
MC			= $(MINIAPL)/coal

NEWHOME		= ../../../../coal_new
NEWSRC		= $(NEWHOME)/src
APLDIR		= $(NEWSRC)/appl
APLCOM		= $(APLDIR)/cmn
LIBDIR		= $(NEWSRC)/lib
LIBINC		= $(LIBDIR)/include
LIBAKA		= $(LIBDIR)/aka
LIBAKB		= $(LIBDIR)/akb
LIBAKX		= $(LIBDIR)/akx

#---------------------------------------------------------------
#			include paths
#---------------------------------------------------------------
INCLUDES		= \
				-I$(LIBINC) \
				-I$(APLINC)

#				-I/usr/include 
#---------------------------------------------------------------
#			apl options
#---------------------------------------------------------------
APLOPTS	= -DCOAL -DCYGWIN_U8

#	-DNO_ARRAY -DNO_STRUCT -DNO_FOR -DNO_WHILE -DNO_UNSIGNED -DNO_DOT \
#	-DNO_PNAME -DNO_COMPLEX -DNO_CLASS -DNO_GLOBAL -DNO_TRY -DNO_CAST \
#	-DNO_STATIC -DNO_DEFTYPE -DNO_STRNUM -DNO_LOGFUNC -DNO_IMPORT \
#	-DNO_THENL -DNO_INTERACTIVE -DNO_DEFINE -DNO_STR_SHELL

#---------------------------------------------------------------
#			C Compiler Options
#---------------------------------------------------------------
CFLAGS			= -O -finput-charset=CP932 \
				$(OSDEPEND) \
				$(INCLUDES) \
				$(APLOPTS) \
				$(DEBUGOPTS) 

#---------------------------------------------------------------
#
#		Objects
#
#---------------------------------------------------------------

#---------------------------------------------------------------
#			object files for coal Component
#---------------------------------------------------------------
HEADERS						=	\
							$(APLINC)/colmn.h \
							$(APLINC)/clconst.h \
							$(APLINC)/cllocal.h \
							$(APLINC)/cltype.h \
							$(APLINC)/clprot.h \
							$(APLINC)/cmmacro.h \
							$(APLINC)/cmprot.h \
							$(APLINC)/cmconst.h \
							$(APLINC)/cmerror.h \
							$(APLINC)/cmstruct.h

OBJS	=	\
$(MC)/coalmain.o $(MC)/coalanal.o $(MC)/cl_chk_digit.o \
$(MC)/cl_make_error_packet.o \
$(MC)/cl_rp_data_nfrm_gen.o $(MC)/cl_rp_data_nfrm_set.o \
$(MC)/cl_rp_grp_nfrm_gen.o $(MC)/cl_rp_packet_gen.o $(MC)/cl_rp_rtn_pckt_pos.o \
$(MC)/cl_rp_frm_nfrm_gen.o $(MC)/cl_get_script_name.o $(MC)/cl_make_return_packet.o \
$(MC)/cl_proc_bexp.o $(MC)/cl_gx_rep_set.o $(MC)/cl_gx_rep_prm_set.o $(MC)/cl_gx_func_bexp.o \
$(MC)/cl_gx_compute.o $(MC)/cl_gx_chk_opt.o $(MC)/cl_gx_exp_imd.o $(MC)/cl_gx_compile.o \
$(MC)/cl_const_mem_get.o $(MC)/cl_gx_get_index.o $(MC)/cl_cmpt_string.o \
$(MC)/cl_cmpt_math.o $(MC)/cl_cmpt_comp.o $(MC)/cl_cmpt_logic.o $(MC)/cl_cmpt_to.o \
$(MC)/cl_cmpt_is.o $(MC)/cl_cmpt_date.o $(MC)/cl_anal_parm.o $(MC)/cl_conv_arg.o \
$(MC)/cl_conv_const_c.o $(MC)/cl_conv_const_n.o $(MC)/cl_conv_sysvar.o $(MC)/cl_conv_parm.o \
$(MC)/cl_array.o \
$(MC)/cl_process_if.o $(MC)/cl_if_pre_proc.o $(MC)/cl_if_comp_ctl.o \
$(MC)/cl_process_else.o $(MC)/cl_process_else_if.o $(MC)/cl_process_end_if.o \
$(MC)/cl_packet_check.o $(MC)/cl_parm_data_set.o \
$(MC)/cl_proc_output.o $(MC)/cl_proc_read.o $(MC)/cl_set_result.o \
$(MC)/clchstcb.o $(MC)/clclear.o $(MC)/clcnvt.o  \
$(MC)/cl_path.o $(MC)/clerproc.o $(MC)/clerscpt.o $(MC)/clexescr.o  \
$(MC)/clleaf.o $(MC)/cllesy.o $(MC)/cllexfnc.o $(MC)/clmkproc.o $(MC)/clmkscpt.o \
$(MC)/clnest.o $(MC)/clprcv.o \
$(MC)/clprproc.o $(MC)/clpsnd.o $(MC)/clscr.o $(MC)/cl_gx_tree.o \
$(MC)/cltrbrak.o $(MC)/cltredif.o $(MC)/cltredpr.o \
$(MC)/cltrelif.o $(MC)/cltrelse.o $(MC)/cltrexec.o $(MC)/cltrfled.o \
$(MC)/cltrif.o $(MC)/cltron.o $(MC)/cltroutp.o $(MC)/cltrproc.o \
$(MC)/cltrread.o $(MC)/cltrrtrn.o $(MC)/cltrsql.o \
$(MC)/colinit.o $(MC)/clchksql.o \
$(MC)/clprexec.o $(MC)/clprbrk.o $(MC)/clfunc.o $(MC)/clprret.o \
$(MC)/clpron.o $(MC)/cl_loop_max.o \
$(MC)/cl_ex_get_proc_name.o $(MC)/cl_scparmset.o \
$(MC)/cl_execute_proc.o \
$(MC)/clinput.o $(MC)/clinput_gr.o $(MC)/clinput_gr_set.o $(MC)/clinput_dt.o $(MC)/clinput_xml.o \
$(MC)/clselrd.o $(MC)/cl_search_ontbl.o $(MC)/clterm.o \
$(MC)/cl_proc_leave.o $(MC)/cltrleave.o \
$(MC)/cltrdef.o $(MC)/clprdef.o $(MC)/clprundef.o $(MC)/clprdeftype.o $(MC)/clprimport.o \
$(MC)/clfuncfile.o $(MC)/clfuncmath.o $(MC)/clsort.o \
$(MC)/cl_code_trans.o $(MC)/clbyname.o $(MC)/cllog.o $(MC)/clmessage.o \
cllex.o cltree.o cltrbexp.o cltrloop.o cltredlp.o clglobal.o clnode.o clprloop.o cl_user_func.o \
vers.o date.o

AKBCOMLIB		=	\
				$(LIBAKA)/libaka.a \
				$(LIBAKB)/libakb.a \
				$(LIBAKX)/libakx_no_u8src.a

#				$(LIBAKX)/libakx_no_iconv.a

APLCOMLIB		= $(APLCOM)/aplcom.a

#OTHERLIB  = -liconv

#---------------------------------------------------------------
#
#			LINKER target file
#
#---------------------------------------------------------------
TARGETFILE		= coal

#---------------------------------------------------------------
#
#		rules
#
#---------------------------------------------------------------
all : $(TARGETFILE)

#---------------------------------------------------------------
#		rules for TARGETFILE
#---------------------------------------------------------------
$(TARGETFILE) : $(OBJS) $(AKBCOMLIB) $(APLCOMLIB)
	$(CC) $(LDFLAGS) -o $@ \
		$(OBJS) $(AKBCOMLIB) $(APLCOMLIB) $(OTHERLIB)
		@\rm -f date.o vers.o date.c

release : $(OBJS) $(AKBCOMLIB) $(APLCOMLIB)
	$(CC) $(LDFLAGS) -o $@ \
		$(OBJS) $(AKBCOMLIB) $(APLCOMLIB) $(OTHERLIB)
		@\rm -f date.o vers.o date.c vers.c 

link :	date.o vers.o
	$(CC) $(LDFLAGS) -o $@ \
		$(OBJS) $(AKBCOMLIB) $(APLCOMLIB) $(OTHERLIB)
		@\rm -f date.o vers.o date.c

date.c : $(CONFDIR)/newdate.sh
		@sh $(CONFDIR)/newdate.sh

vers.c : $(CONFDIR)/newvers.sh
		@sh $(CONFDIR)/newvers.sh

#---------------------------------------------------------------
#
#			basic sufixes
#
#---------------------------------------------------------------
.c.o : $(HEADERS)
		$(CC) $(CFLAGS) -c $*.c

#---------------------------------------------------------------
#
#		other rules
#
#---------------------------------------------------------------
install : $(TARGETFILE)
		$(INSTALL) $(INSTFLGS) $(TARGETFILE) $(COALBIN)

include ../../other_rules.mk
