1 # -*- Makefile -*- for gperf on VMS using the MMS utility
3 # Copyright (C) 2003 Free Software Foundation, Inc.
4 # Written by Bruno Haible <bruno@clisp.org>.
6 # This file is part of GNU GPERF.
8 # This program is free software: you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 3 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #### Start of system configuration section. ####
23 # Directories used by "make install":
25 exec_prefix = $(prefix)
26 datadir = $(prefix).share
27 bindir = $(exec_prefix).bin
28 mandir = $(datadir).man
29 man1dir = $(mandir).man1
30 docdir = $(datadir).doc.gperf
32 # Programs used by "make":
37 # These flags affect binary compatibility. GNU gperf does not need them,
38 # but other packages do.
39 ABIFLAGS = /name=(as_is,short) /float=ieee
41 WARN_CFLAGS = /warning
43 OPTIMFLAGS = /optimize
45 CFLAGS = $(ABIFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS)
46 CXXFLAGS = $(ABIFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS)
47 DEFS = "VMS=1","HAVE_CONFIG_H=1"
49 INCLUDES = /include=([],[.lib],[.src])
54 # Programs used by "make install":
56 INSTALL_PROGRAM = copy
59 #### End of system configuration section. ####
61 LIB_OBJECTS = [.lib]getopt.obj,[.lib]getopt1.obj,[.lib]getline.obj,[.lib]hash.obj
62 SRC_OBJECTS = [.src]version.obj,[.src]positions.obj,[.src]options.obj,[.src]keyword.obj,[.src]keyword-list.obj,[.src]input.obj,[.src]bool-array.obj,[.src]hash-table.obj,[.src]search.obj,[.src]output.obj,[.src]main.obj
63 OBJECTS = $(LIB_OBJECTS),$(SRC_OBJECTS)
66 write sys$output "Nothing else to be done for 'all'."
68 [.src]config.h : [.src]config.h_vms
69 $(LN) [.src]config.h_vms [.src]config.h
71 [.lib]getopt.obj : [.lib]getopt.c
72 $(CC) $(INCLUDES) $(CFLAGS) /define=("VMS=1") [.lib]getopt.c /obj=[.lib]getopt.obj
74 [.lib]getopt1.obj : [.lib]getopt1.c
75 $(CC) $(INCLUDES) $(CFLAGS) /define=("VMS=1") [.lib]getopt1.c /obj=[.lib]getopt1.obj
77 [.lib]getline.obj : [.lib]getline.cc
78 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=("VMS=1") [.lib]getline.cc /obj=[.lib]getline.obj
80 [.lib]hash.obj : [.lib]hash.cc
81 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=("VMS=1") [.lib]hash.cc /obj=[.lib]hash.obj
84 CONFIG_H = [.src]config.h
85 VERSION_H = [.src]version.h
86 POSITIONS_H = [.src]positions.h,[.src]positions.icc
87 OPTIONS_H = [.src]options.h,[.src]options.icc,$(POSITIONS_H)
88 KEYWORD_H = [.src]keyword.h,[.src]keyword.icc
89 KEYWORD_LIST_H = [.src]keyword-list.h,[.src]keyword-list.icc,$(KEYWORD_H)
90 INPUT_H = [.src]input.h,$(KEYWORD_LIST_H)
91 BOOL_ARRAY_H = [.src]bool-array.h,[.src]bool-array.icc,$(OPTIONS_H)
92 HASH_TABLE_H = [.src]hash-table.h,$(KEYWORD_H)
93 SEARCH_H = [.src]search.h,$(KEYWORD_LIST_H),$(POSITIONS_H),$(BOOL_ARRAY_H)
94 OUTPUT_H = [.src]output.h,$(KEYWORD_LIST_H),$(POSITIONS_H)
96 [.src]version.obj : [.src]version.cc,$(VERSION_H)
97 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]version.cc /obj=[.src]version.obj
99 [.src]positions.obj : [.src]positions.cc,$(POSITIONS_H)
100 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]positions.cc /obj=[.src]positions.obj
102 [.src]options.obj : [.src]options.cc,$(OPTIONS_H),$(VERSION_H)
103 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]options.cc /obj=[.src]options.obj
105 [.src]keyword.obj : [.src]keyword.cc,$(KEYWORD_H),$(POSITIONS_H)
106 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]keyword.cc /obj=[.src]keyword.obj
108 [.src]keyword-list.obj : [.src]keyword-list.cc,$(KEYWORD_LIST_H)
109 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]keyword-list.cc /obj=[.src]keyword-list.obj
111 [.src]input.obj : [.src]input.cc,$(INPUT_H),$(OPTIONS_H)
112 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]input.cc /obj=[.src]input.obj
114 [.src]bool-array.obj : [.src]bool-array.cc,$(BOOL_ARRAY_H),$(OPTIONS_H)
115 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]bool-array.cc /obj=[.src]bool-array.obj
117 [.src]hash-table.obj : [.src]hash-table.cc,$(HASH_TABLE_H),$(OPTIONS_H)
118 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]hash-table.cc /obj=[.src]hash-table.obj
120 [.src]search.obj : [.src]search.cc,$(SEARCH_H),$(OPTIONS_H),$(HASH_TABLE_H),$(CONFIG_H)
121 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]search.cc /obj=[.src]search.obj
123 [.src]output.obj : [.src]output.cc,$(OUTPUT_H),$(OPTIONS_H),$(VERSION_H)
124 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]output.cc /obj=[.src]output.obj
126 [.src]main.obj : [.src]main.cc,$(OPTIONS_H),$(INPUT_H),$(SEARCH_H),$(OUTPUT_H)
127 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]main.cc /obj=[.src]main.obj
129 gperf.exe : $(OBJECTS)
130 link /executable=gperf.exe $(OBJECTS)
133 create /directory $(prefix)]
134 create /directory $(exec_prefix)]
135 create /directory $(bindir)]
136 $(INSTALL_PROGRAM) gperf.exe $(bindir)]gperf.exe
137 create /directory $(datadir)]
138 create /directory $(mandir)]
139 create /directory $(man1dir)]
140 $(INSTALL_DATA) [.doc]gperf.1 $(man1dir)]gperf.1
141 create /directory $(datadir).doc]
142 create /directory $(docdir)]
143 $(INSTALL_DATA) [.doc]gperf.html $(docdir)]gperf.html
146 create /directory $(prefix)]
147 create /directory $(exec_prefix)]
148 create /directory $(bindir)]
149 create /directory $(datadir)]
150 create /directory $(mandir)]
151 create /directory $(man1dir)]
152 create /directory $(datadir).doc]
153 create /directory $(docdir)]
156 $(RM) $(bindir)]gperf.exe;
157 $(RM) $(man1dir)]gperf.1;
158 $(RM) $(docdir)]gperf.html;
161 write sys$output "Nothing else to be done for 'check'."
164 write sys$output "Nothing else to be done for 'mostlyclean'."
170 $(RM) [.src]config.h;*
173 write sys$output "Nothing else to be done for 'distclean'."
175 maintainer-clean : distclean
176 write sys$output "Nothing else to be done for 'maintainer-clean'."