158551Skris# Makefile for gperf/src
258551Skris
3230237Sbapt# Copyright (C) 1989, 1992, 1993, 1998, 2000, 2002, 2006 Free Software Foundation, Inc.
4230237Sbapt# Written by Douglas C. Schmidt <schmidt@ics.uci.edu>
5230237Sbapt# and Bruno Haible <bruno@clisp.org>.
658551Skris#
758551Skris# This file is part of GNU GPERF.
858551Skris#
958551Skris# GNU GPERF is free software; you can redistribute it and/or modify
1058551Skris# it under the terms of the GNU General Public License as published by
11230237Sbapt# the Free Software Foundation; either version 2, or (at your option)
1258551Skris# any later version.
1358551Skris#
1458551Skris# GNU GPERF is distributed in the hope that it will be useful,
1558551Skris# but WITHOUT ANY WARRANTY; without even the implied warranty of
1658551Skris# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1758551Skris# GNU General Public License for more details.
1858551Skris#
1958551Skris# You should have received a copy of the GNU General Public License
20230237Sbapt# along with this program; see the file COPYING.
21230237Sbapt# If not, write to the Free Software Foundation, Inc.,
22230237Sbapt# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
2358551Skris
2458551Skris#### Start of system configuration section. ####
2558551Skris
2658551Skris# Directories used by "make":
2758551Skrissrcdir = @srcdir@
2858551Skris
2958551Skris# Directories used by "make install":
3058551Skrisprefix = @prefix@
3158551Skrislocal_prefix = /usr/local
3258551Skrisexec_prefix = @exec_prefix@
3358551Skrisbindir = @bindir@
3458551Skris
3558551Skris# Programs used by "make":
3658551Skris# C compiler
3758551SkrisCC = @CC@
3858551SkrisCFLAGS = @CFLAGS@
3958551SkrisCPP = @CPP@
4058551Skris# C++ compiler
4158551SkrisCXX = @CXX@
4258551SkrisCXXFLAGS = @CXXFLAGS@
4358551SkrisCXXCPP = @CXXCPP@
4467064Sobrien# Both C and C++ compiler
4567064SobrienLDFLAGS = @LDFLAGS@
46230237SbaptOBJEXT = @OBJEXT@
47230237SbaptEXEEXT = @EXEEXT@
4858551Skris# Other
4958551SkrisMV = mv
5058551SkrisLN = ln
5158551SkrisRM = rm -f
5258551Skris@SET_MAKE@
5358551Skris
5458551Skris# Programs used by "make install":
5558551SkrisINSTALL = @INSTALL@
5658551SkrisINSTALL_PROGRAM = @INSTALL_PROGRAM@
5758551SkrisINSTALL_DATA = @INSTALL_DATA@
5867064SobrienMKINSTALLDIRS = $(SHELL) $(srcdir)/../mkinstalldirs
5958551Skris
6058551Skris#### End of system configuration section. ####
6158551Skris
6258551SkrisSHELL = /bin/sh
6358551Skris
6458551SkrisVPATH = $(srcdir)
6558551Skris
66230237SbaptOBJECTS  = version.$(OBJEXT) positions.$(OBJEXT) options.$(OBJEXT) keyword.$(OBJEXT) keyword-list.$(OBJEXT) \
67230237Sbapt           input.$(OBJEXT) bool-array.$(OBJEXT) hash-table.$(OBJEXT) search.$(OBJEXT) output.$(OBJEXT) main.$(OBJEXT)
68230237SbaptLIBS     = ../lib/libgp.a @GPERF_LIBM@
6958551SkrisCPPFLAGS = -I. -I$(srcdir)/../lib
7058551Skris
71230237SbaptTARGETPROG = gperf$(EXEEXT)
7258551Skris
7358551Skrisall : $(TARGETPROG)
7458551Skris
7558551Skris$(TARGETPROG): $(OBJECTS)
7658551Skris	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)
7758551Skris
7858551Skris# Don't use implicit rules, since AIX "make" and OSF/1 "make" don't always
7958551Skris# expand $< correctly in this context.
8058551Skris#
8158551Skris#%.o : %.c
8258551Skris#	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
8358551Skris#
8458551Skris#%.o : %.cc
8558551Skris#	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
8658551Skris
8758551Skris# Dependencies.
8858551SkrisCONFIG_H = config.h
8958551SkrisVERSION_H = version.h
90230237SbaptPOSITIONS_H = positions.h positions.icc
91230237SbaptOPTIONS_H = options.h options.icc $(POSITIONS_H)
92230237SbaptKEYWORD_H = keyword.h keyword.icc
93230237SbaptKEYWORD_LIST_H = keyword-list.h keyword-list.icc $(KEYWORD_H)
94230237SbaptINPUT_H = input.h $(KEYWORD_LIST_H)
95230237SbaptBOOL_ARRAY_H = bool-array.h bool-array.icc $(OPTIONS_H)
96230237SbaptHASH_TABLE_H = hash-table.h $(KEYWORD_H)
97230237SbaptSEARCH_H = search.h $(KEYWORD_LIST_H) $(POSITIONS_H) $(BOOL_ARRAY_H)
98230237SbaptOUTPUT_H = output.h $(KEYWORD_LIST_H) $(POSITIONS_H)
9958551Skris
100230237Sbaptversion.$(OBJEXT): version.cc $(VERSION_H)
101230237Sbapt	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/version.cc
102230237Sbaptpositions.$(OBJEXT): positions.cc $(POSITIONS_H)
103230237Sbapt	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/positions.cc
104230237Sbaptoptions.$(OBJEXT): options.cc $(OPTIONS_H) $(VERSION_H)
105230237Sbapt	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/options.cc
106230237Sbaptkeyword.$(OBJEXT): keyword.cc $(KEYWORD_H) $(POSITIONS_H)
107230237Sbapt	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/keyword.cc
108230237Sbaptkeyword-list.$(OBJEXT): keyword-list.cc $(KEYWORD_LIST_H)
109230237Sbapt	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/keyword-list.cc
110230237Sbaptinput.$(OBJEXT): input.cc $(INPUT_H) $(OPTIONS_H)
111230237Sbapt	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/input.cc
112230237Sbaptbool-array.$(OBJEXT): bool-array.cc $(BOOL_ARRAY_H) $(OPTIONS_H)
11358551Skris	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/bool-array.cc
114230237Sbapthash-table.$(OBJEXT): hash-table.cc $(HASH_TABLE_H) $(OPTIONS_H)
11558551Skris	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/hash-table.cc
116230237Sbaptsearch.$(OBJEXT): search.cc $(SEARCH_H) $(OPTIONS_H) $(HASH_TABLE_H) $(CONFIG_H)
117230237Sbapt	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/search.cc
118230237Sbaptoutput.$(OBJEXT): output.cc $(OUTPUT_H) $(OPTIONS_H) $(VERSION_H)
119230237Sbapt	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/output.cc
120230237Sbaptmain.$(OBJEXT): main.cc $(OPTIONS_H) $(INPUT_H) $(SEARCH_H) $(OUTPUT_H)
12158551Skris	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/main.cc
12258551Skris
12358551Skrisinstall : all force
12467064Sobrien	$(MKINSTALLDIRS) $(DESTDIR)$(bindir)
12567064Sobrien	$(INSTALL_PROGRAM) $(TARGETPROG) $(DESTDIR)$(bindir)/$(TARGETPROG)
12658551Skris
12758551Skrisinstalldirs : force
12867064Sobrien	$(MKINSTALLDIRS) $(DESTDIR)$(bindir)
12958551Skris
13058551Skrisuninstall : force
13167064Sobrien	$(RM) $(DESTDIR)$(bindir)/$(TARGETPROG)
13258551Skris
13358551Skrischeck : all
13458551Skris
13558551Skrismostlyclean : clean
13658551Skris
13758551Skrisclean : force
138230237Sbapt	$(RM) *~ *.s *.$(OBJEXT) *.a $(TARGETPROG) core
13958551Skris
14058551Skrisdistclean : clean
14158551Skris	$(RM) config.status config.log config.cache Makefile config.h
14258551Skris
14358551Skrismaintainer-clean : distclean
14458551Skris
14558551Skrisforce :
146