#
# Makefile
#

#
# 
#
SHELL=sh
MAKE=make
OPTIMIZE = -O2

OBJS= \
appendable.obj \
bmpset.obj \
brkeng.obj \
brkiter.obj \
bytesinkutil.obj \
bytestream.obj \
bytestrie.obj \
bytestriebuilder.obj \
bytestrieiterator.obj \
caniter.obj \
characterproperties.obj \
chariter.obj \
charstr.obj \
cmemory.obj \
cstr.obj \
cstring.obj \
cwchar.obj \
dictbe.obj \
dictionarydata.obj \
dtintrv.obj \
edits.obj \
emojiprops.obj \
errorcode.obj \
filteredbrk.obj \
filterednormalizer2.obj \
icudataver.obj \
icuplug.obj \
loadednormalizer2impl.obj \
localebuilder.obj \
localematcher.obj \
localeprioritylist.obj \
locavailable.obj \
locbased.obj \
locdispnames.obj \
locdistance.obj \
locdspnm.obj \
locid.obj \
loclikely.obj \
loclikelysubtags.obj \
locmap.obj \
locresdata.obj \
locutil.obj \
lsr.obj \
lstmbe.obj \
messagepattern.obj \
mlbe.obj \
normalizer2.obj \
normalizer2impl.obj \
normlzr.obj \
parsepos.obj \
patternprops.obj \
pluralmap.obj \
propname.obj \
propsvec.obj \
punycode.obj \
putil.obj \
rbbi.obj \
rbbi_cache.obj \
rbbidata.obj \
rbbinode.obj \
rbbirb.obj \
rbbiscan.obj \
rbbisetb.obj \
rbbistbl.obj \
rbbitblb.obj \
resbund.obj \
resbund_cnv.obj \
resource.obj \
restrace.obj \
ruleiter.obj \
schriter.obj \
serv.obj \
servlk.obj \
servlkf.obj \
servls.obj \
servnotf.obj \
servrbf.obj \
servslkf.obj \
sharedobject.obj \
simpleformatter.obj \
static_unicode_sets.obj \
stringpiece.obj \
stringtriebuilder.obj \
uarrsort.obj \
ubidi.obj \
ubidi_props.obj \
ubidiln.obj \
ubiditransform.obj \
ubidiwrt.obj \
ubrk.obj \
ucase.obj \
ucasemap.obj \
ucasemap_titlecase_brkiter.obj \
ucat.obj \
uchar.obj \
ucharstrie.obj \
ucharstriebuilder.obj \
ucharstrieiterator.obj \
uchriter.obj \
ucln_cmn.obj \
ucmndata.obj \
ucnv.obj \
ucnv2022.obj \
ucnv_bld.obj \
ucnv_cb.obj \
ucnv_cnv.obj \
ucnv_ct.obj \
ucnv_err.obj \
ucnv_ext.obj \
ucnv_io.obj \
ucnv_lmb.obj \
ucnv_set.obj \
ucnv_u16.obj \
ucnv_u32.obj \
ucnv_u7.obj \
ucnv_u8.obj \
ucnvbocu.obj \
ucnvdisp.obj \
ucnvhz.obj \
ucnvisci.obj \
ucnvlat1.obj \
ucnvmbcs.obj \
ucnvscsu.obj \
ucnvsel.obj \
ucol_swp.obj \
ucptrie.obj \
ucurr.obj \
udata.obj \
udatamem.obj \
udataswp.obj \
uenum.obj \
uhash.obj \
uhash_us.obj \
uidna.obj \
uinit.obj \
uinvchar.obj \
uiter.obj \
ulist.obj \
uloc.obj \
ulocale.obj \
ulocbuilder.obj \
uloc_keytype.obj \
uloc_tag.obj \
umapfile.obj \
umath.obj \
umutablecptrie.obj \
umutex.obj \
unames.obj \
unifiedcache.obj \
unifilt.obj \
unifunct.obj \
uniset.obj \
uniset_closure.obj \
uniset_props.obj \
unisetspan.obj \
unistr.obj \
unistr_case.obj \
unistr_case_locale.obj \
unistr_cnv.obj \
unistr_props.obj \
unistr_titlecase_brkiter.obj \
unorm.obj \
unormcmp.obj \
uobject.obj \
uprops.obj \
ures_cnv.obj \
uresbund.obj \
uresdata.obj \
usc_impl.obj \
uscript.obj \
uscript_props.obj \
uset.obj \
uset_props.obj \
usetiter.obj \
ushape.obj \
usprep.obj \
ustack.obj \
ustr_cnv.obj \
ustr_titlecase_brkiter.obj \
ustr_wcs.obj \
ustrcase.obj \
ustrcase_locale.obj \
ustrenum.obj \
ustrfmt.obj \
ustring.obj \
ustrtrns.obj \
utext.obj \
utf_impl.obj \
util.obj \
util_props.obj \
utrace.obj \
utrie.obj \
utrie2.obj \
utrie2_builder.obj \
utrie_swap.obj \
uts46.obj \
utypes.obj \
uvector.obj \
uvectr32.obj \
uvectr64.obj \
wintz.obj

.SUFFIXES: .c .cpp .obj .lib .dll .exp

CFLAGS=-nologo -favor:blend -utf-8 -wd4229 -MT $(OPTIMIZE)
INC=-I. -I.. -Iunicode -I../i18n
DEFS=-DU_COMMON_IMPLEMENTATION=1 -DWIN32=1 -DU_WINDOWS=1 -DICUFORXeTeX=1 \
-D_CRT_SECURE_NO_DEPRECATE=1 -DCYGWINMSVC=1

TGT=icuucommon.dll
TGTLIB=icuucommon.lib
TGTEXP=icuucommon.exp

LIBS=../../lib/icudt.lib advapi32.lib

.cpp.obj:
	cl $(CFLAGS) -std:c++17 -EHsc -GR $(DEFS) $(INC) -TP -c $<
.c.obj:
	cl $(CFLAGS) $(DEFS) $(INC) -c $<

#
#all: $(TGT)
#$(TGT): $(OBJS)
#	cl -LD -Fe$@ $(OBJS) $(LIBS)
#

all: $(TGTLIB)
$(TGTLIB): $(OBJS)
	lib -out:$@ $(OBJS)

#
#install: $(TGT) $(TGTLIB)
#	cp -p $(TGTLIB) ../../lib/
#	cp -p $(TGTEXP) ../../lib/
#	cp -p $(TGT) ../../bin/
#

install: $(TGTLIB)
	cp -p $(TGTLIB) ../../lib/

clean:
	rm -f *~ *.obj *.lib
