]>
Commit | Line | Data |
---|---|---|
1 | # Copyright (C) 2016 and later: Unicode, Inc. and others. | |
2 | # License & terms of use: http://www.unicode.org/copyright.html#License | |
3 | # | |
4 | # Copyright (c) 2000-2012 IBM, Inc. and others | |
5 | # udata sample code | |
6 | # Usage: | |
7 | # - configure, build, install ICU | |
8 | # - ensure that 'icu-config' is in the PATH (PREFIX/bin/icu-config) | |
9 | # - if ICU is not built relative to this directory, | |
10 | # set the variable ICU_PATH to the 'icu' directory | |
11 | # (i.e. /foo/icu ) | |
12 | # - do 'make' in this directory | |
13 | ||
14 | ||
15 | # Include ICU standard definitions | |
16 | include ../defs.mk | |
17 | ||
18 | # look for the ICU_PATH variable, guess if not there | |
19 | ICU_DEFAULT_PATH=../../.. | |
20 | ||
21 | ifeq ($(strip $(ICU_PATH)),) | |
22 | ICU_PATH=$(ICU_DEFAULT_PATH) | |
23 | endif | |
24 | ||
25 | # Name of your target | |
26 | TARGET1=reader | |
27 | TARGET2=writer | |
28 | ||
29 | # All object files (C or C++) | |
30 | OBJECTS1=reader.o | |
31 | OBJECTS2=writer.o | |
32 | OBJECTS=$(OBJECTS1) $(OBJECTS2) | |
33 | ||
34 | CLEANFILES=*~ $(TARGET).out $(TARGET1).out $(TARGET2).out | |
35 | ||
36 | all: $(TARGET1) $(TARGET2) | |
37 | ||
38 | # The following lines are to make sure ICU_PATH is set properly. | |
39 | writer.o: $(ICU_PATH)/source/tools/toolutil/uoptions.h | |
40 | ||
41 | $(ICU_PATH)/source/tools/toolutil/uoptions.h: | |
42 | @echo | |
43 | @echo "*** Please read the directions at the top of this file (Makefile)" | |
44 | @echo "*** Can't open $@ - check ICU_PATH" | |
45 | @echo | |
46 | @false | |
47 | ||
48 | # Only the writer needs these, actually. | |
49 | CPPFLAGS += -I$(ICU_PATH)/source/tools/toolutil | |
50 | LDFLAGS += -L$(ICU_PATH)/source/tools/toolutil $(shell icu-config --ldflags-toolutil) | |
51 | ||
52 | ||
53 | .PHONY: all clean distclean check report | |
54 | ||
55 | distclean clean: | |
56 | -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) | |
57 | -$(RMV) $(OBJECTS) $(TARGET1) $(TARGET2) | |
58 | ||
59 | # Can change this to LINK.c if it is a C only program | |
60 | # Can add more libraries here. | |
61 | $(TARGET1): $(OBJECTS1) | |
62 | $(CXX) -o $@ $(LDFLAGS) | |
63 | ||
64 | $(TARGET2): $(OBJECTS2) | |
65 | $(CXX) -o $@ $(LDFLAGS) -licui18n -licuuc | |
66 | ||
67 | # Make check: simply runs the sample, logged to a file | |
68 | check: $(TARGET1) $(TARGET2) | |
69 | $(INVOKE) ./$(TARGET2) | tee $(TARGET2).out | |
70 | $(INVOKE) ./$(TARGET1) | tee $(TARGET1).out | |
71 | ||
72 |