1# -*- Makefile -*- for gperf on VMS using the MMS utility 2 3# Copyright (C) 2003 Free Software Foundation, Inc. 4# Written by Bruno Haible <bruno@clisp.org>. 5# 6# This file is part of GNU GPERF. 7# 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. 12# 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. 17# 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/>. 20 21#### Start of system configuration section. #### 22 23# Directories used by "make install": 24prefix = SYS$DATA:[ 25exec_prefix = $(prefix) 26datadir = $(prefix).share 27bindir = $(exec_prefix).bin 28mandir = $(datadir).man 29man1dir = $(mandir).man1 30docdir = $(datadir).doc.gperf 31 32# Programs used by "make": 33 34CC = cc 35CXX = cxx 36 37# These flags affect binary compatibility. GNU gperf does not need them, 38# but other packages do. 39ABIFLAGS = /name=(as_is,short) /float=ieee 40 41WARN_CFLAGS = /warning 42 43OPTIMFLAGS = /optimize 44 45CFLAGS = $(ABIFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) 46CXXFLAGS = $(ABIFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) 47DEFS = "VMS=1","HAVE_CONFIG_H=1" 48 49INCLUDES = /include=([],[.lib],[.src]) 50 51LN = copy 52RM = delete 53 54# Programs used by "make install": 55INSTALL = copy 56INSTALL_PROGRAM = copy 57INSTALL_DATA = copy 58 59#### End of system configuration section. #### 60 61LIB_OBJECTS = [.lib]getopt.obj,[.lib]getopt1.obj,[.lib]getline.obj,[.lib]hash.obj 62SRC_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 63OBJECTS = $(LIB_OBJECTS),$(SRC_OBJECTS) 64 65all : gperf.exe 66 write sys$output "Nothing else to be done for 'all'." 67 68[.src]config.h : [.src]config.h_vms 69 $(LN) [.src]config.h_vms [.src]config.h 70 71[.lib]getopt.obj : [.lib]getopt.c 72 $(CC) $(INCLUDES) $(CFLAGS) /define=("VMS=1") [.lib]getopt.c /obj=[.lib]getopt.obj 73 74[.lib]getopt1.obj : [.lib]getopt1.c 75 $(CC) $(INCLUDES) $(CFLAGS) /define=("VMS=1") [.lib]getopt1.c /obj=[.lib]getopt1.obj 76 77[.lib]getline.obj : [.lib]getline.cc 78 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=("VMS=1") [.lib]getline.cc /obj=[.lib]getline.obj 79 80[.lib]hash.obj : [.lib]hash.cc 81 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=("VMS=1") [.lib]hash.cc /obj=[.lib]hash.obj 82 83# Dependencies. 84CONFIG_H = [.src]config.h 85VERSION_H = [.src]version.h 86POSITIONS_H = [.src]positions.h,[.src]positions.icc 87OPTIONS_H = [.src]options.h,[.src]options.icc,$(POSITIONS_H) 88KEYWORD_H = [.src]keyword.h,[.src]keyword.icc 89KEYWORD_LIST_H = [.src]keyword-list.h,[.src]keyword-list.icc,$(KEYWORD_H) 90INPUT_H = [.src]input.h,$(KEYWORD_LIST_H) 91BOOL_ARRAY_H = [.src]bool-array.h,[.src]bool-array.icc,$(OPTIONS_H) 92HASH_TABLE_H = [.src]hash-table.h,$(KEYWORD_H) 93SEARCH_H = [.src]search.h,$(KEYWORD_LIST_H),$(POSITIONS_H),$(BOOL_ARRAY_H) 94OUTPUT_H = [.src]output.h,$(KEYWORD_LIST_H),$(POSITIONS_H) 95 96[.src]version.obj : [.src]version.cc,$(VERSION_H) 97 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]version.cc /obj=[.src]version.obj 98 99[.src]positions.obj : [.src]positions.cc,$(POSITIONS_H) 100 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]positions.cc /obj=[.src]positions.obj 101 102[.src]options.obj : [.src]options.cc,$(OPTIONS_H),$(VERSION_H) 103 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]options.cc /obj=[.src]options.obj 104 105[.src]keyword.obj : [.src]keyword.cc,$(KEYWORD_H),$(POSITIONS_H) 106 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]keyword.cc /obj=[.src]keyword.obj 107 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 110 111[.src]input.obj : [.src]input.cc,$(INPUT_H),$(OPTIONS_H) 112 $(CXX) $(INCLUDES) $(CXXFLAGS) /define=($(DEFS)) [.src]input.cc /obj=[.src]input.obj 113 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 116 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 119 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 122 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 125 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 128 129gperf.exe : $(OBJECTS) 130 link /executable=gperf.exe $(OBJECTS) 131 132install : all force 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 144 145installdirs : force 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)] 154 155uninstall : force 156 $(RM) $(bindir)]gperf.exe; 157 $(RM) $(man1dir)]gperf.1; 158 $(RM) $(docdir)]gperf.html; 159 160check : all 161 write sys$output "Nothing else to be done for 'check'." 162 163mostlyclean : clean 164 write sys$output "Nothing else to be done for 'mostlyclean'." 165 166clean : 167 $(RM) [.lib]*.obj;* 168 $(RM) [.src]*.obj;* 169 $(RM) gperf.exe;* 170 $(RM) [.src]config.h;* 171 172distclean : clean 173 write sys$output "Nothing else to be done for 'distclean'." 174 175maintainer-clean : distclean 176 write sys$output "Nothing else to be done for 'maintainer-clean'." 177 178