Makefile   [plain text]


# Copyright (c) 2000 IBM, Inc. and others
# conversion sample code $Revision: 1.1.1.1 $
# Usage:
#  - configure, build, install ICU
#  - ensure that 'icu-config' is in the PATH (PREFIX/bin/icu-config) 
#  - if ICU is not built relative to this directory,
#      set the variable ICU_PATH to the 'icu' directory
#       (i.e.  /foo/icu  )
#  - do 'make' in this directory

include ../defs.mk

ICU_DEFAULT_PATH=../../..

ifeq ($(strip $(ICU_PATH)),)
  ICU_PATH=$(ICU_DEFAULT_PATH)
endif

GENRBOPT = -s. -d. --package-name $(PKG)

# Name of your target
TARGET=uresb
PKG=$(TARGET)
RES_SRC=root.txt en.txt sr.txt
RESOURCES=$(RES_SRC:%.txt=$(PKG)_%.res)

# All object files (C or C++)
OBJECTS=uresb.o

CLEANFILES=*~ $(TARGET).out

all: $(RESOURCES) $(TARGET) 

uresb.o:  $(ICU_PATH)/source/tools/toolutil/uoptions.h

$(ICU_PATH)/source/tools/toolutil/uoptions.h:
	@echo "Please read the directions at the top of this file (Makefile)"
	@echo "Can't open $@ - check ICU_PATH"
	@false

CPPFLAGS += -I$(ICU_PATH)/source/tools/toolutil
LDFLAGS += -L$(ICU_PATH)/source/tools/toolutil $(shell icu-config --ldflags-toolutil --ldflags-ustdio)

.PHONY: all clean distclean check report

distclean clean:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
	-$(RMV) $(OBJECTS) $(TARGET)


## resources
$(PKG)_%.res: %.txt
	@echo "generating $@"
	$(GENRB) $(GENRBOPT) $^

## Special for a special codepage
$(PKG)_sr.res : sr.txt
	@echo "generating $@"
	$(GENRB) $(GENRBOPT) -e cp1251 $?

# Can change this to LINK.c if it is a C only program
# Can add more libraries here. 
$(TARGET): $(OBJECTS)
	$(CC) -o $@ $^ $(LDFLAGS)

# Make check: simply runs the sample, logged to a file
check: $(TARGET) $(RESOURCES)
	$(INVOKE) ./$(TARGET) en | tee $(TARGET).out

# Make report: creates a 'report file' with both source and sample run
report: $(TARGET).report

$(TARGET).report: check $(TARGET).cpp
	more $(TARGET).cpp $(TARGET).out > $@