1# -*- Makefile -*- for gettext-runtime/libasprintf on VMS using the MMS utility
2
3#### Start of system configuration section. ####
4
5# Directories used by "make install":
6prefix = SYS$DATA:[
7exec_prefix = $(prefix)
8datadir = $(prefix).share
9bindir = $(exec_prefix).bin
10libdir = $(exec_prefix).lib
11includedir = $(prefix).include
12# For this subpackage only.
13sub_docdir = $(datadir).doc.libasprintf
14
15# Programs used by "make":
16
17CC = cc
18CXX = cxx
19
20# These flags affect binary compatibility. GNU gettext does not need them,
21# but other packages do, and we need to be binary compatible with them.
22ABIFLAGS = /name=(as_is,short) /float=ieee
23
24WARN_CFLAGS = /warning
25
26OPTIMFLAGS = /optimize
27
28CFLAGS = $(ABIFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS)
29CXXFLAGS = $(ABIFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS)
30DEFS = "VMS=1","HAVE_CONFIG_H=1"
31
32INCLUDES = /include=([])
33
34AR = library
35AR_FLAGS = /create
36
37LN = copy
38RM = delete
39
40# Programs used by "make install":
41INSTALL = copy
42INSTALL_PROGRAM = copy
43INSTALL_DATA = copy
44
45#### End of system configuration section. ####
46
47OBJECTS = lib-asprintf.obj,autosprintf.obj
48
49all : autosprintf.h,asprintf.olb
50	write sys$output "Nothing else to be done for 'all'."
51
52autosprintf.h :
53	if f$search("autosprintf.h_in") .nes. "" then $(LN) autosprintf.h_in autosprintf.h
54	if f$search("autosprintf.h_in") .eqs. "" then $(LN) autosprintf.h.in autosprintf.h
55
56config.h : config.h_vms
57	$(LN) config.h_vms config.h
58
59alloca.h : alloca_.h
60	$(LN) alloca_.h alloca.h
61
62lib-asprintf.obj : lib-asprintf.c,config.h,printf-args.h,printf-args.c,printf-parse.h,printf-parse.c,alloca.h,vasnprintf.h,vasnprintf.c,asnprintf.c,vasprintf.h,vasprintf.c,asprintf.c
63	$(CC) $(INCLUDES) $(CFLAGS) /define=($(DEFS)) lib-asprintf.c
64
65autosprintf.obj : autosprintf.cc,autosprintf.h,config.h,lib-asprintf.h
66	$(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) autosprintf.cc
67
68asprintf.olb : $(OBJECTS)
69	$(AR) $(AR_FLAGS) asprintf.olb $(OBJECTS)
70
71install : all
72	create /directory $(prefix)]
73	create /directory $(includedir)]
74	$(INSTALL_DATA) autosprintf.h $(includedir)]autosprintf.h
75	create /directory $(exec_prefix)]
76	create /directory $(libdir)]
77	$(INSTALL_DATA) asprintf.olb $(libdir)]asprintf.olb
78	create /directory $(datadir)]
79	create /directory $(datadir).doc]
80	create /directory $(sub_docdir)]
81	$(INSTALL_DATA) [.doc]autosprintf_all.html $(sub_docdir)]autosprintf.html
82
83installdirs :
84	create /directory $(prefix)]
85	create /directory $(includedir)]
86	create /directory $(exec_prefix)]
87	create /directory $(libdir)]
88	create /directory $(datadir)]
89	create /directory $(datadir).doc]
90	create /directory $(sub_docdir)]
91
92uninstall :
93	$(RM) $(includedir)]autosprintf.h;
94	$(RM) $(libdir)]asprintf.olb;
95	$(RM) $(sub_docdir)]autosprintf.html;
96
97check : all
98	write sys$output "Nothing else to be done for 'check'."
99
100mostlyclean : clean
101	write sys$output "Nothing else to be done for 'mostlyclean'."
102
103clean :
104	$(RM) autosprintf.h;*
105	$(RM) config.h;*
106	$(RM) alloca.h;*
107	$(RM) *.obj;*
108	$(RM) *.olb;*
109
110distclean : clean
111	write sys$output "Nothing else to be done for 'distclean'."
112
113maintainer-clean : distclean
114	write sys$output "Nothing else to be done for 'maintainer-clean'."
115