1.PATH: ${.CURDIR}/../libc/citrus 2 3.include "../../i18n_module/Makefile.shlib" 4 5CFLAGS+= -DI18NMODULE_MAJOR=${MODULE_SHLIB_MAJOR} -D_I18N_DYNAMIC 6STATIC_LOCALES?= 7 8SRCS+= citrus_bcs.c citrus_csmapper.c citrus_ctype.c citrus_ctype_fallback.c 9SRCS+= citrus_db.c citrus_db_hash.c citrus_esdb.c citrus_hash.c 10SRCS+= citrus_iconv.c citrus_lookup.c citrus_mapper.c citrus_memstream.c 11SRCS+= citrus_mmap.c citrus_module.c citrus_none.c citrus_stdenc.c 12SRCS+= citrus_prop.c 13 14# Add the locale modules to compile-in in the static libc.a 15# (and profile/libc.a). 16# If a new locale module is added, the includes and the table in 17# citrus_module.c must be updated. 18# A new module must have the file name citrus_xxx.c where xxx is the lower 19# case name of the module. 20# Currently the modules specified by STATIC_LOCALES are included in the 21# shared libc (but never used). This is a bug. 22.if ${STATIC_LOCALES} != "" 23.PATH: ${.CURDIR}/../libc/citrus/modules 24CFLAGS+=-I${.CURDIR}/../libc/citrus 25CFLAGS+=-D_I18N_STATIC 26.if defined(.PARSEDIR) 27.for var in ${STATIC_LOCALES} 28SRCS+= citrus_${var:tl}.c 29CFLAGS+=-D_I18N_STATIC_${var} 30.endfor 31.else 32# LEGACY MAKE - REMOVE FOR DFLY 3.6 33.for var in ${STATIC_LOCALES} 34SRCS+= citrus_${var:L}.c 35CFLAGS+=-D_I18N_STATIC_${var} 36.endfor 37.endif 38# iconv support 39SRCS+=citrus_iconv_std.c citrus_mapper_std.c citrus_mapper_none.c citrus_mapper_serial.c citrus_utf1632.c 40.endif # STATIC_LOCALES 41