1# Makefile for gperf/src
2
3# Copyright (C) 1989, 1992, 1993, 1998, 2000, 2002, 2006 Free Software Foundation, Inc.
4# Written by Douglas C. Schmidt <schmidt@ics.uci.edu>
5# and Bruno Haible <bruno@clisp.org>.
6#
7# This file is part of GNU GPERF.
8#
9# This program is free software: you can redistribute it and/or modify
10# it under the terms of the GNU General Public License as published by
11# the Free Software Foundation; either version 3 of the License, or
12# (at your option) any later version.
13#
14# This program is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
22#### Start of system configuration section. ####
23
24# Directories used by "make":
25srcdir = .
26
27# Directories used by "make install":
28prefix = /usr
29local_prefix = /usr/local
30exec_prefix = ${prefix}
31bindir = ${exec_prefix}/bin
32
33# Programs used by "make":
34# C compiler
35CC = arm-brcm-linux-uclibcgnueabi-gcc
36CFLAGS = -Os -O2 -DBCMWPA2 -DRESTART_ALL_PROCESSES -D__CONFIG_USBAP__ -DBCMQOS -DBCMWPS -D__CONFIG_EMF__ -DTRAFFIC_MGMT -DPHYMON -DSUPPORT_REMOTE_HTTPS -DINCLUDE_WPS_V20 -DINCLUDE_5G_AUTO_CHANNEL -DOPENDNS_PARENTAL_CONTROL -DINCLUDE_UCP -DU12H240 -DR6300v2 -DMULTIPLE_SSID -DENABLE_ML -DBCM53125 -DBCM5301X -DCONFIG_RUSSIA_IPTV -DDLNA -DHTTP_ACCESS_USB -DMAX_USB_ACCESS -DSAMBA_ENABLE -DUSB_NEW_SPEC -DINCLUDE_WIFI_BUTTON -DINCLUDE_USB_LED -DINCLUDE_DUAL_BAND -DSINGLE_FIRMWARE -DINCLUDE_GET_ST_CHKSUM -DUNIFIED_STR_TBL -DFIRST_MTD_ROTATION -DWIFI_ON_OFF_SCHE -DAUTO_CONN_24HR -DIGMP_PROXY -DAP_MODE -D__CONFIG_IGMP_SNOOPING__ -DLINUX26 -DINCLUDE_IPV6 -DPRESET_WL_SECURITY -DNEW_BCM_WPS_IPC -DSUPPORT_AC_MODE -DSTA_MODE -DPPP_RU_DESIGN -DEXT_ACS -D__CONFIG_PLC__ -D__CONFIG_URE__ -DPLC -DWPS_LONGPUSH_DISABLE -Os -DLINUX26 -DCONFIG_KERNEL_2_6_36 -I$(SRC_PATH)/build/include
37CPP = arm-brcm-linux-uclibcgnueabi-gcc -E
38# C++ compiler
39CXX = g++
40CXXFLAGS = -g -O2
41CXXCPP = g++ -E
42# Both C and C++ compiler
43LDFLAGS = -L$(SRC_PATH)/build/lib
44OBJEXT = o
45EXEEXT = 
46# Other
47MV = mv
48LN = ln
49RM = rm -f
50
51
52# Programs used by "make install":
53INSTALL = /usr/bin/install -c
54INSTALL_PROGRAM = $(INSTALL)
55INSTALL_DATA = $(INSTALL) -m 644
56MKINSTALLDIRS = $(SHELL) $(srcdir)/../mkinstalldirs
57
58#### End of system configuration section. ####
59
60SHELL = /bin/sh
61
62
63
64OBJECTS  = version.$(OBJEXT) positions.$(OBJEXT) options.$(OBJEXT) keyword.$(OBJEXT) keyword-list.$(OBJEXT) \
65           input.$(OBJEXT) bool-array.$(OBJEXT) hash-table.$(OBJEXT) search.$(OBJEXT) output.$(OBJEXT) main.$(OBJEXT)
66LIBS     = ../lib/libgp.a -lm
67CPPFLAGS = -I. -I$(srcdir)/../lib
68
69TARGETPROG = gperf$(EXEEXT)
70
71all : $(TARGETPROG)
72
73$(TARGETPROG): $(OBJECTS)
74	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)
75
76# Don't use implicit rules, since AIX "make" and OSF/1 "make" don't always
77# expand $< correctly in this context.
78#
79#%.o : %.c
80#	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
81#
82#%.o : %.cc
83#	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
84
85# Dependencies.
86CONFIG_H = config.h
87VERSION_H = version.h
88POSITIONS_H = positions.h positions.icc
89OPTIONS_H = options.h options.icc $(POSITIONS_H)
90KEYWORD_H = keyword.h keyword.icc
91KEYWORD_LIST_H = keyword-list.h keyword-list.icc $(KEYWORD_H)
92INPUT_H = input.h $(KEYWORD_LIST_H)
93BOOL_ARRAY_H = bool-array.h bool-array.icc $(OPTIONS_H)
94HASH_TABLE_H = hash-table.h $(KEYWORD_H)
95SEARCH_H = search.h $(KEYWORD_LIST_H) $(POSITIONS_H) $(BOOL_ARRAY_H)
96OUTPUT_H = output.h $(KEYWORD_LIST_H) $(POSITIONS_H)
97
98version.$(OBJEXT): version.cc $(VERSION_H)
99	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/version.cc
100positions.$(OBJEXT): positions.cc $(POSITIONS_H)
101	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/positions.cc
102options.$(OBJEXT): options.cc $(OPTIONS_H) $(VERSION_H)
103	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/options.cc
104keyword.$(OBJEXT): keyword.cc $(KEYWORD_H) $(POSITIONS_H)
105	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/keyword.cc
106keyword-list.$(OBJEXT): keyword-list.cc $(KEYWORD_LIST_H)
107	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/keyword-list.cc
108input.$(OBJEXT): input.cc $(INPUT_H) $(OPTIONS_H)
109	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/input.cc
110bool-array.$(OBJEXT): bool-array.cc $(BOOL_ARRAY_H) $(OPTIONS_H)
111	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/bool-array.cc
112hash-table.$(OBJEXT): hash-table.cc $(HASH_TABLE_H) $(OPTIONS_H)
113	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/hash-table.cc
114search.$(OBJEXT): search.cc $(SEARCH_H) $(OPTIONS_H) $(HASH_TABLE_H) $(CONFIG_H)
115	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/search.cc
116output.$(OBJEXT): output.cc $(OUTPUT_H) $(OPTIONS_H) $(VERSION_H)
117	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/output.cc
118main.$(OBJEXT): main.cc $(OPTIONS_H) $(INPUT_H) $(SEARCH_H) $(OUTPUT_H)
119	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/main.cc
120
121install : all force
122	$(MKINSTALLDIRS) $(DESTDIR)$(bindir)
123	$(INSTALL_PROGRAM) $(TARGETPROG) $(DESTDIR)$(bindir)/$(TARGETPROG)
124
125installdirs : force
126	$(MKINSTALLDIRS) $(DESTDIR)$(bindir)
127
128uninstall : force
129	$(RM) $(DESTDIR)$(bindir)/$(TARGETPROG)
130
131check : all
132
133mostlyclean : clean
134
135clean : force
136	$(RM) *~ *.s *.$(OBJEXT) *.a $(TARGETPROG) core
137
138distclean : clean
139	$(RM) config.status config.log config.cache Makefile config.h
140
141maintainer-clean : distclean
142
143force :
144