# -*- Makefile -*- for po subdirectory

#### Start of system configuration section. ####

# Flags that can be set on the nmake command line:
#   PREFIX=Some\Directory   Base directory for installation
!if !defined(PREFIX)
PREFIX = c:\usr
!endif

# Directories used by "make":
srcdir = .

# Directories used by "make install":
prefix = $(PREFIX)
datadir = $(prefix)\share
localedir = $(datadir)\locale

# Programs used by "make":
RM = -del

# Programs used by "make install":
INSTALL = copy
INSTALL_PROGRAM = copy
INSTALL_DATA = copy

#### End of system configuration section. ####

SHELL = /bin/sh

all :

install : all force
	-mkdir $(prefix)
	-mkdir $(datadir)
	-mkdir $(localedir)
	-mkdir $(localedir)\ca
	-mkdir $(localedir)\ca\LC_MESSAGES
	$(INSTALL_DATA) ca.gmo $(localedir)\ca\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\da
	-mkdir $(localedir)\da\LC_MESSAGES
	$(INSTALL_DATA) da.gmo $(localedir)\da\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\de
	-mkdir $(localedir)\de\LC_MESSAGES
	$(INSTALL_DATA) de.gmo $(localedir)\de\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\eo
	-mkdir $(localedir)\eo\LC_MESSAGES
	$(INSTALL_DATA) eo.gmo $(localedir)\eo\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\es
	-mkdir $(localedir)\es\LC_MESSAGES
	$(INSTALL_DATA) es.gmo $(localedir)\es\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\et
	-mkdir $(localedir)\et\LC_MESSAGES
	$(INSTALL_DATA) et.gmo $(localedir)\et\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\fi
	-mkdir $(localedir)\fi\LC_MESSAGES
	$(INSTALL_DATA) fi.gmo $(localedir)\fi\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\fr
	-mkdir $(localedir)\fr\LC_MESSAGES
	$(INSTALL_DATA) fr.gmo $(localedir)\fr\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\ga
	-mkdir $(localedir)\ga\LC_MESSAGES
	$(INSTALL_DATA) ga.gmo $(localedir)\ga\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\gl
	-mkdir $(localedir)\gl\LC_MESSAGES
	$(INSTALL_DATA) gl.gmo $(localedir)\gl\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\hr
	-mkdir $(localedir)\hr\LC_MESSAGES
	$(INSTALL_DATA) hr.gmo $(localedir)\hr\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\hu
	-mkdir $(localedir)\hu\LC_MESSAGES
	$(INSTALL_DATA) hu.gmo $(localedir)\hu\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\id
	-mkdir $(localedir)\id\LC_MESSAGES
	$(INSTALL_DATA) id.gmo $(localedir)\id\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\it
	-mkdir $(localedir)\it\LC_MESSAGES
	$(INSTALL_DATA) it.gmo $(localedir)\it\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\nl
	-mkdir $(localedir)\nl\LC_MESSAGES
	$(INSTALL_DATA) nl.gmo $(localedir)\nl\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\pl
	-mkdir $(localedir)\pl\LC_MESSAGES
	$(INSTALL_DATA) pl.gmo $(localedir)\pl\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\pt_BR
	-mkdir $(localedir)\pt_BR\LC_MESSAGES
	$(INSTALL_DATA) pt_BR.gmo $(localedir)\pt_BR\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\ro
	-mkdir $(localedir)\ro\LC_MESSAGES
	$(INSTALL_DATA) ro.gmo $(localedir)\ro\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\ru
	-mkdir $(localedir)\ru\LC_MESSAGES
	$(INSTALL_DATA) ru.gmo $(localedir)\ru\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\sk
	-mkdir $(localedir)\sk\LC_MESSAGES
	$(INSTALL_DATA) sk.gmo $(localedir)\sk\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\sl
	-mkdir $(localedir)\sl\LC_MESSAGES
	$(INSTALL_DATA) sl.gmo $(localedir)\sl\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\sr
	-mkdir $(localedir)\sr\LC_MESSAGES
	$(INSTALL_DATA) sr.gmo $(localedir)\sr\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\sv
	-mkdir $(localedir)\sv\LC_MESSAGES
	$(INSTALL_DATA) sv.gmo $(localedir)\sv\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\tr
	-mkdir $(localedir)\tr\LC_MESSAGES
	$(INSTALL_DATA) tr.gmo $(localedir)\tr\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\uk
	-mkdir $(localedir)\uk\LC_MESSAGES
	$(INSTALL_DATA) uk.gmo $(localedir)\uk\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\wa
	-mkdir $(localedir)\wa\LC_MESSAGES
	$(INSTALL_DATA) wa.gmo $(localedir)\wa\LC_MESSAGES\libiconv.mo
	-mkdir $(localedir)\zh_CN
	-mkdir $(localedir)\zh_CN\LC_MESSAGES
	$(INSTALL_DATA) zh_CN.gmo $(localedir)\zh_CN\LC_MESSAGES\libiconv.mo

installdirs : force
	-mkdir $(prefix)
	-mkdir $(datadir)
	-mkdir $(localedir)
	-mkdir $(localedir)\ca
	-mkdir $(localedir)\ca\LC_MESSAGES
	-mkdir $(localedir)\da
	-mkdir $(localedir)\da\LC_MESSAGES
	-mkdir $(localedir)\de
	-mkdir $(localedir)\de\LC_MESSAGES
	-mkdir $(localedir)\eo
	-mkdir $(localedir)\eo\LC_MESSAGES
	-mkdir $(localedir)\es
	-mkdir $(localedir)\es\LC_MESSAGES
	-mkdir $(localedir)\et
	-mkdir $(localedir)\et\LC_MESSAGES
	-mkdir $(localedir)\fi
	-mkdir $(localedir)\fi\LC_MESSAGES
	-mkdir $(localedir)\fr
	-mkdir $(localedir)\fr\LC_MESSAGES
	-mkdir $(localedir)\ga
	-mkdir $(localedir)\ga\LC_MESSAGES
	-mkdir $(localedir)\gl
	-mkdir $(localedir)\gl\LC_MESSAGES
	-mkdir $(localedir)\hr
	-mkdir $(localedir)\hr\LC_MESSAGES
	-mkdir $(localedir)\hu
	-mkdir $(localedir)\hu\LC_MESSAGES
	-mkdir $(localedir)\id
	-mkdir $(localedir)\id\LC_MESSAGES
	-mkdir $(localedir)\it
	-mkdir $(localedir)\it\LC_MESSAGES
	-mkdir $(localedir)\nl
	-mkdir $(localedir)\nl\LC_MESSAGES
	-mkdir $(localedir)\pl
	-mkdir $(localedir)\pl\LC_MESSAGES
	-mkdir $(localedir)\pt_BR
	-mkdir $(localedir)\pt_BR\LC_MESSAGES
	-mkdir $(localedir)\ro
	-mkdir $(localedir)\ro\LC_MESSAGES
	-mkdir $(localedir)\ru
	-mkdir $(localedir)\ru\LC_MESSAGES
	-mkdir $(localedir)\sk
	-mkdir $(localedir)\sk\LC_MESSAGES
	-mkdir $(localedir)\sl
	-mkdir $(localedir)\sl\LC_MESSAGES
	-mkdir $(localedir)\sr
	-mkdir $(localedir)\sr\LC_MESSAGES
	-mkdir $(localedir)\sv
	-mkdir $(localedir)\sv\LC_MESSAGES
	-mkdir $(localedir)\tr
	-mkdir $(localedir)\tr\LC_MESSAGES
	-mkdir $(localedir)\uk
	-mkdir $(localedir)\uk\LC_MESSAGES
	-mkdir $(localedir)\wa
	-mkdir $(localedir)\wa\LC_MESSAGES
	-mkdir $(localedir)\zh_CN
	-mkdir $(localedir)\zh_CN\LC_MESSAGES

uninstall : force
	$(RM) $(localedir)\ca\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\da\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\de\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\eo\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\es\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\et\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\fi\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\fr\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\ga\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\gl\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\hr\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\hu\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\id\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\it\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\nl\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\pl\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\pt_BR\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\ro\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\ru\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\sk\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\sl\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\sr\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\sv\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\tr\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\uk\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\wa\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\zh_CN\LC_MESSAGES\libiconv.mo

check : all

mostlyclean : clean

clean : force

distclean : clean

maintainer-clean : distclean

force :
