1 # Copyright (c) 2000-2005 IBM, Inc. and others 2 # conversion sample code 3 # Usage: 4 # - configure, build, install ICU 5 # - ensure that 'icu-config' is in the PATH (PREFIX/bin/icu-config) 6 # - if ICU is not built relative to this directory, 7 # set the variable ICU_PATH to the 'icu' directory 8 # (i.e. /foo/icu ) 9 # - do 'make' in this directory 10 11 include ../defs.mk 12 13 ICU_DEFAULT_PATH=../../.. 14 15 ifeq ($(strip $(ICU_PATH)),) 16 ICU_PATH=$(ICU_DEFAULT_PATH) 17 endif 18 19 GENRBOPT = -s. -d. 20 21 # Name of your target 22 TARGET=uresb 23 PKG=$(TARGET) 24 RES_SRC=root.txt en.txt sr.txt 25 RESOURCES=$(RES_SRC:%.txt=%.res) 26 27 # All object files (C or C++) 28 OBJECTS=uresb.o 29 30 CLEANFILES=*~ $(TARGET).out 31 32 all: $(RESOURCES) $(TARGET) 33 34 uresb.o: $(ICU_PATH)/source/tools/toolutil/uoptions.h 35 36 $(ICU_PATH)/source/tools/toolutil/uoptions.h: 37 @echo "Please read the directions at the top of this file (Makefile)" 38 @echo "Can't open $@ - check ICU_PATH" 39 @false 40 41 CPPFLAGS += -I$(ICU_PATH)/source/tools/toolutil 42 LDFLAGS += -L$(ICU_PATH)/source/tools/toolutil $(shell icu-config --ldflags-toolutil --ldflags-icuio) 43 44 .PHONY: all clean distclean check report 45 46 distclean clean: 47 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) 48 -$(RMV) $(OBJECTS) $(TARGET) $(RESOURCES) 49 50 51 ## resources 52 %.res: %.txt 53 @echo "generating $@" 54 $(GENRB) $(GENRBOPT) $^ 55 56 ## Special for a special codepage 57 sr.res : sr.txt 58 @echo "generating $@" 59 $(GENRB) $(GENRBOPT) -e cp1251 $? 60 61 # Can change this to LINK.c if it is a C only program 62 # Can add more libraries here. 63 $(TARGET): $(OBJECTS) 64 $(CC) -o $@ $^ $(LDFLAGS) 65 66 # Make check: simply runs the sample, logged to a file 67 check: $(TARGET) $(RESOURCES) 68 $(INVOKE) ./$(TARGET) en | tee $(TARGET).out 69 70 # Make report: creates a 'report file' with both source and sample run 71 report: $(TARGET).report 72 73 $(TARGET).report: check $(TARGET).cpp 74 more $(TARGET).cpp $(TARGET).out > $@ 75 76 77 78