Home | History | Annotate | Download | only in udata
      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 
     73