# -*- Makefile -*- for libiconv/src on VMS using the MMS utility

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

# Directories used by "make install":
prefix = SYS$DATA:[
exec_prefix = $(prefix)
bindir = $(exec_prefix).bin
includedir = $(prefix).include
datadir = $(prefix).share
localedir = $(datadir).locale

# Programs used by "make":

CC = cc

# These flags affect binary compatibility. GNU gettext does not need them,
# but other packages do, and we need to be binary compatible with them.
ABIFLAGS = /name=(as_is,short) /float=ieee

WARN_CFLAGS = /warning

OPTIMFLAGS = /optimize

CFLAGS = $(ABIFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS)
DEFS = "VMS=1","ENABLE_NLS=1","LOCALEDIR=""$(localedir)]"""

INCLUDES = /include=([],[-],[-.include],[-.srclib],[-.lib],$(includedir)])

RM = delete

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

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

all : iconv.exe
	write sys$output "Nothing else to be done for 'all'."

iconv.obj : iconv.c
	$(CC) $(INCLUDES) $(CFLAGS) /define=($(DEFS),"INSTALLPREFIX=""$(prefix)]""","INSTALLDIR=""$(bindir)]""") iconv.c

iconv.exe : iconv.obj [-.srclib]icrt.olb [-.lib]iconv.olb
	link /executable=iconv.exe iconv.obj,$(libdir)]intl.olb/lib,[-.srclib]icrt.olb/lib,[-.lib]iconv.olb/lib,[-]link_options.vms

install : all
	create /directory $(prefix)]
	create /directory $(exec_prefix)]
	create /directory $(bindir)]
	$(INSTALL_PROGRAM) iconv.exe $(bindir)]iconv.exe

installdirs :
	create /directory $(prefix)]
	create /directory $(exec_prefix)]
	create /directory $(bindir)]

uninstall :
	$(RM) $(bindir)]iconv.exe

check : all
	write sys$output "Nothing else to be done for 'check'."

mostlyclean : clean
	write sys$output "Nothing else to be done for 'mostlyclean'."

clean :
	$(RM) *.obj;*
	$(RM) *.exe;*

distclean : clean
	write sys$output "Nothing else to be done for 'distclean'."

maintainer-clean : distclean
	write sys$output "Nothing else to be done for 'maintainer-clean'."
