| 1 | .PATH: ${.CURDIR}/../libc/citrus |
| 2 | |
| 3 | .include "../../i18n_module/Makefile.shlib" |
| 4 | |
| 5 | CFLAGS+= -DI18NMODULE_MAJOR=${MODULE_SHLIB_MAJOR} -D_I18N_DYNAMIC |
| 6 | STATIC_LOCALES?= |
| 7 | |
| 8 | SRCS+= citrus_bcs.c citrus_csmapper.c citrus_ctype.c citrus_ctype_fallback.c |
| 9 | SRCS+= citrus_db.c citrus_db_hash.c citrus_esdb.c citrus_hash.c |
| 10 | SRCS+= citrus_iconv.c citrus_lookup.c citrus_mapper.c citrus_memstream.c |
| 11 | SRCS+= citrus_mmap.c citrus_module.c citrus_none.c citrus_stdenc.c |
| 12 | SRCS+= 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 |
| 24 | CFLAGS+=-I${.CURDIR}/../libc/citrus |
| 25 | CFLAGS+=-D_I18N_STATIC |
| 26 | .for var in ${STATIC_LOCALES} |
| 27 | SRCS+= citrus_${var:L}.c |
| 28 | CFLAGS+=-D_I18N_STATIC_${var} |
| 29 | .endfor |
| 30 | # iconv support |
| 31 | SRCS+=citrus_iconv_std.c citrus_mapper_std.c citrus_mapper_none.c citrus_mapper_serial.c citrus_utf1632.c |
| 32 | .endif # STATIC_LOCALES |