# -*- 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)\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)\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)\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

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)\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)\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)\sv
	-mkdir $(localedir)\sv\LC_MESSAGES
	-mkdir $(localedir)\tr
	-mkdir $(localedir)\tr\LC_MESSAGES
	-mkdir $(localedir)\uk
	-mkdir $(localedir)\uk\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)\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)\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)\sv\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\tr\LC_MESSAGES\libiconv.mo
	$(RM) $(localedir)\uk\LC_MESSAGES\libiconv.mo

check : all

mostlyclean : clean

clean : force

distclean : clean

maintainer-clean : distclean

force :
