#"%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

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

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

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

AKBCOMLIB		=	\
				$(LIBAKA)/libaka.a \
				$(LIBAKB)/libakb.a \
				$(LIBAKX)/libakx.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
