Ignore:
Timestamp:
2008-05-15T13:10:11+12:00 (16 years ago)
Author:
mdewsnip
Message:

Huge tidy up of src/recpt Makefile. Z39.50 stuff has been removed but will be back shortly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gsdl/trunk/src/recpt/Makefile.in

    r15472 r15478  
    66# University of Waikato, New Zealand.
    77#
    8 # Copyright (C) 1999  The New Zealand Digital Library Project
     8# Copyright (C) 1999-2008  The New Zealand Digital Library Project
    99#
    1010#
     
    2525###########################################################################
    2626
    27 USE_Z3950 = @USE_Z3950@
    28 ifeq ($(USE_Z3950), 1)
    29 Z_CFLAGS=-DUSE_Z3950
    30 else
    31 Z_CFLAGS=
    32 endif
    33 
    34 INDEXERS_DIR=../../indexers
     27GSDL_DIR = ../..
     28INDEXERS_DIR = $(GSDL_DIR)/indexers
     29COLSERVR_DIR = $(GSDL_DIR)/src/colservr
     30PROTOCOL_DIR = $(GSDL_DIR)/src/protocol
     31
    3532
    3633ENABLE_ACCENTFOLD = @ENABLE_ACCENTFOLD@
    3734ifeq ($(ENABLE_ACCENTFOLD), 1)
    38 AFLIBS = $(INDEXERS_DIR)/packages/unac/libunac.a
    39 AFFLAGS = -DENABLE_ACCENTFOLD
     35ACCENTFOLD_LIBS = $(INDEXERS_DIR)/packages/unac/libunac.a
    4036else
    41 AFLIBS =
    42 AFFLAGS =
     37ACCENTFOLD_LIBS =
    4338endif
    4439
    45 AR = ar
     40USE_FASTCGI = @USE_FASTCGI@
     41ifeq ($(USE_FASTCGI), 1)
     42FASTCGI_DEFS = -DUSE_FASTCGI
     43FASTCGI_INCLUDES = -I$(GSDL_DIR)/packages/fcgi/include
     44FASTCGI_LIBS = $(GSDL_DIR)/packages/fcgi/libfcgi/libfcgi.a
     45else
     46FASTCGI_DEFS =
     47FASTCGI_INCLUDES =
     48FASTCGI_LIBS =
     49endif
     50
     51
    4652CC = @CC@
    47 CXX = @CXX@
    48 
    49 CXXFLAGS = $(Z_CFLAGS) $(AFFLAGS) @CXXFLAGS@
    50 
    51 # YAZ kit for z39.50
    52 YAZDIR=../../packages/yaz
    53 
    54 
    55 USE_FASTCGI = @USE_FASTCGI@
    56 ifneq ($(USE_FASTCGI), 1)
    57 DEFS = -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H
    58 INCLUDES = -I. -I../.. -I../../lib -I../colservr -I../protocol \
     53CPP = @CXX@
     54CFLAGS = @CFLAGS@
     55CPPFLAGS = @CXXFLAGS@ $(Z_CFLAGS)
     56DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H $(FASTCGI_DEFS)
     57GSDLOS = @GSDLOS@
     58INCLUDES = -I. -I$(GSDL_DIR) -I$(GSDL_DIR)/lib -I$(COLSERVR_DIR) -I$(PROTOCOL_DIR) \
    5959       -I$(INDEXERS_DIR)/mg/lib -I$(INDEXERS_DIR)/mgpp/text \
    60            -I../../packages/expat/include
    61 else
    62 DEFS = -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DUSE_FASTCGI -DHAVE_CONFIG_H
    63 INCLUDES = -I. -I../.. -I../../lib -I../colservr -I../protocol \
    64        -I$(INDEXERS_DIR)/mg/lib -I$(INDEXERS_DIR)/mgpp/text \
    65            -I../../packages/expat/include -I../../packages/fcgi/include
    66 endif
    67 
    68 LC_LIBS     = -L../../packages/expat/lib -lexpat
    69 LC_OBJECTS  = \
    70     ../colservr/lucenesearch.o   \
    71     ../colservr/lucenequeryfilter.o \
    72     ../colservr/lucenegdbmsource.o \
    73     ../colservr/expat_resultset.o \
    74     ../colservr/expat_document.o
    75 
    76 RANLIB = @RANLIB@
     60           -I$(GSDL_DIR)/packages/expat/include $(FASTCGI_INCLUDES)
     61INSTALL = @INSTALL@
    7762LDFLAGS = @LDFLAGS@
    78 GDBM_LIBS=@GDBM_LIBPATH@ -lgdbm
    79 LIBS = $(GDBM_LIBS) $(LC_LIBS) $(AFLIBS) @LIBS@
    80 GSDLOS = @gsdlos@
    81 INSTALL = @INSTALL@
    82 
    83 COMPILE = $(CC) -c $(CCFLAGS) $(DEFS) $(INCLUDES)
     63LIBS = @LIBS@ @GDBM_LIBPATH@ -lgdbm -L$(GSDL_DIR)/packages/expat/lib -lexpat $(ACCENTFOLD_LIBS)
     64
     65
     66COMPILE = $(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES)
    8467LINK = $(CC) $(LDFLAGS) -o $@
    85 
    86 CXXCOMPILE = $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
    87 CXXLINK = $(CXX) $(LDFLAGS) -o $@
    88 
    89 # in case gdbm.h/libgdbm.a are in a non-standard place...
    90 GDBM_OBJS=argdb.o authenaction.o collectoraction.o depositoraction.o wizardaction.o infodbclass.o userdb.o usersaction.o historydb.o librarymain.o nullproto.o queryaction.o z3950proto.o
    91 
    92 EXEC = library
    93 
    94 ifeq ($(USE_Z3950), 1)
    95 Z3950EXEC = z3950server
    96 else
    97 Z3950EXEC =
    98 endif
    99 
    100 all: $(EXEC) $(Z3950EXEC)
    101 
     68CPPCOMPILE = $(CPP) -c $(CPPFLAGS) $(DEFS) $(INCLUDES)
     69CPPLINK = $(CPP) $(LDFLAGS) -o $@
    10270
    10371
     
    10977.SUFFIXES: .cpp .o
    11078.cpp.o:
    111     $(CXXCOMPILE) $<
    112 
    113 $(GDBM_OBJS) :%.o :%.cpp
    114     $(CXXCOMPILE) @GDBM_INCLUDE@ $<
    115 
    116 
    117 COMMONHEADERS = receptionist.h cgiwrapper.h cgiargs.h action.h browserclass.h \
    118                 converter.h maincfg.h cgiutils.h recptprototools.h browsetoolsclass.h \
    119         statusaction.h pageaction.h \
    120         pingaction.h queryaction.h documentaction.h  \
    121         extlinkaction.h browseaction.h htmlutils.h argdb.h \
    122         querytools.h browseactiontools.h formattools.h tipaction.h authenaction.h \
    123                 userdb.h usersaction.h vlistbrowserclass.h hlistbrowserclass.h \
    124         datelistbrowserclass.h invbrowserclass.h pagedbrowserclass.h \
    125         htmlbrowserclass.h phindbrowserclass.h historydb.h collectoraction.h depositoraction.h wizardaction.h \
    126         phindaction.h summarise.h highlighttext.h gtiaction.h
    127 
    128 RECEPTHEADERS =
    129 
    130 LIBRARYHEADERS = z3950proto.h z3950proxy.h
    131 
    132 HEADERS = $(COMMONHEADERS) $(RECPTHEADERS) $(LIBRARYHEADERS)
    133 
    134 
    135 COMMONSOURCES = receptionist.cpp cgiwrapper.cpp cgiargs.cpp action.cpp browserclass.cpp \
    136                 converter.cpp maincfg.cpp cgiutils.cpp recptprototools.cpp browsetoolsclass.cpp \
    137         statusaction.cpp pageaction.cpp \
    138         pingaction.cpp queryaction.cpp documentaction.cpp \
    139         extlinkaction.cpp browseaction.h htmlutils.cpp querytools.cpp \
    140         tipaction.cpp authenaction.cpp userdb.cpp usersaction.cpp \
    141         vlistbrowserclass.cpp hlistbrowserclass.cpp datelistbrowserclass.cpp \
    142         invbrowserclass.cpp pagedbrowserclass.cpp htmlbrowserclass.cpp \
    143         phindbrowserclass.cpp  historydb.cpp collectoraction.cpp depositoraction.cpp wizardaction.cpp argdb.cpp \
    144         browseactiontools.h formattools.cpp phindaction.cpp summarise.cpp \
    145         highlighttext.cpp gtiaction.cpp
    146 
    147 
    148 RECPTSOURCES = recptmain.cpp
    149 
    150 ifeq ($(USE_Z3950), 1)
    151 Z_LIBSOURCES=z3950proto.cpp z3950proxy.cpp yaz_zclient.c zparse.tab.c zparse.yy.c $(YAZDIR)/yaz-2.1.4/client/tabcomplete.c
    152 else
    153 Z_LIBSOURCES=
    154 endif
    155 
    156 LIBRARYSOURCES = librarymain.cpp $(Z_LIBSOURCES)
    157 
    158 SOURCES = $(COMMONSOURCES) $(RECPTSOURCES) $(LIBRARYSOURCES)
    159 
    160 
    161 ifeq ($(USE_Z3950), 1)
    162 Z_COMOBJS=zparse.yy.o
    163 else
    164 Z_COMOBJS=
    165 endif
    166 
    167 
    168 COMMONOBJECTS = receptionist.o cgiwrapper.o cgiargs.o action.o browserclass.o \
    169                 converter.o maincfg.o cgiutils.o recptprototools.o browsetoolsclass.o \
    170         statusaction.o pageaction.o \
    171         pingaction.o queryaction.o documentaction.o \
    172         extlinkaction.o browseaction.o htmlutils.o querytools.o browseactiontools.o \
    173         formattools.o tipaction.o authenaction.o argdb.o \
    174                 userdb.o usersaction.o vlistbrowserclass.o \
    175         hlistbrowserclass.o datelistbrowserclass.o invbrowserclass.o \
    176         pagedbrowserclass.o htmlbrowserclass.o phindbrowserclass.o \
    177         historydb.o $(Z_COMOBJS) collectoraction.o depositoraction.o wizardaction.o phindaction.o \
    178         summarise.o highlighttext.o gtiaction.o
    179 
    180 RECPTOBJECTS = recptmain.o
    181 
    182 
    183 ifeq ($(USE_Z3950), 1)
    184 Z_LIBOBJS=z3950proto.o z3950proxy.o yaz_zclient.o zparse.tab.o
    185 Z_CLIENTOBJS=$(YAZDIR)/yaz-2.1.4/client/tabcomplete.o
    186 else
    187 Z_LIBOBJS=
    188 Z_CLIENTOBJS=
    189 endif
    190 
    191 LIBRARYOBJECTS = librarymain.o $(Z_LIBOBJS)
    192 
    193 OBJECTS = $(COMMONOBJECTS) $(RECPTOBJECTS) $(LIBRARYOBJECTS)
    194 
    195 
    196 COLSERVROBJECTS = ../colservr/comtypes.o \
    197           ../colservr/mgq.o \
    198           ../colservr/search.o \
    199                   ../colservr/mgsearch.o \
    200                   ../colservr/querycache.o \
    201                   ../colservr/queryinfo.o \
    202                   ../colservr/collectserver.o \
    203                   ../colservr/colservrconfig.o \
    204                   ../colservr/maptools.o \
    205                   ../colservr/filter.o \
    206                   ../colservr/source.o \
    207                   ../colservr/browsefilter.o \
    208                   ../colservr/queryfilter.o \
    209                   ../colservr/gdbmsource.o \
    210                   ../colservr/mggdbmsource.o \
    211                   ../colservr/phrasesearch.o \
    212                   ../colservr/phrasequeryfilter.o \
    213           ../colservr/mgqueryfilter.o \
    214           ../colservr/mgppsearch.o \
    215           ../colservr/mgppqueryfilter.o \
    216           ../colservr/collectset.o \
    217           $(LC_OBJECTS)
    218 
    219 PROTOCOLOBJECTS = ../protocol/recptproto.o \
    220                   ../protocol/nullproto.o
    221 
    222 
    223 ## z39.50 rules
    224 # Note! If USE_FASTCGI=1, yaz is still compiled and linked, but never
    225 # called by librarymain.cpp.
    226 yaz_zclient.o: yaz_zclient.c
    227     $(COMPILE) -I$(YAZDIR)/yaz-2.1.4/include -I$(YAZDIR)/yaz-2.1.4/client $<
    228 
    229 # this should be done by the top level makefile...
    230 $(YAZDIR)/lib/libyaz.a:
    231     cd $(YAZDIR)/yaz-2.1.4/src && $(MAKE) && $(MAKE) install
    232 
    233 # put a separate rule here, as it speeds up compilation of other objects
    234 # if they don't need to include all the yaz headers
    235 z3950%.o: z3950%.cpp
    236     $(COMPILE) -I$(YAZDIR)/include -I../../packages/d2m $<
    237 
    238 zparse.tab.c: zparse.y
    239     @YACC@ -b zparse -d zparse.y
    240 
    241 zparse.tab.h: zparse.tab.c
    242 
    243 zparse.yy.c: zparse.fl zparse.tab.h
    244     flex -Pzconfig -ozparse.yy.c zparse.fl
    245 
    246 
    247 
    248 # We'll keep the .c and .h files for those without lex/flex and yacc/bison.
    249 #PARSE_TMPFILES= zparse.tab.o zparse.tab.c zparse.tab.h zparse.yy.o zparse.yy.c
    250 PARSE_TMPFILE=zparse.tab.o zparse.yy.o
    251 
     79    $(CPPCOMPILE) $<
     80
     81
     82COLSERVR_OBJECTS = \
     83    $(COLSERVR_DIR)/comtypes.o \
     84    $(COLSERVR_DIR)/mgq.o \
     85    $(COLSERVR_DIR)/search.o \
     86        $(COLSERVR_DIR)/mgsearch.o \
     87        $(COLSERVR_DIR)/querycache.o \
     88        $(COLSERVR_DIR)/queryinfo.o \
     89        $(COLSERVR_DIR)/collectserver.o \
     90        $(COLSERVR_DIR)/colservrconfig.o \
     91        $(COLSERVR_DIR)/maptools.o \
     92        $(COLSERVR_DIR)/filter.o \
     93        $(COLSERVR_DIR)/source.o \
     94        $(COLSERVR_DIR)/browsefilter.o \
     95        $(COLSERVR_DIR)/queryfilter.o \
     96        $(COLSERVR_DIR)/gdbmsource.o \
     97        $(COLSERVR_DIR)/mggdbmsource.o \
     98        $(COLSERVR_DIR)/phrasesearch.o \
     99        $(COLSERVR_DIR)/phrasequeryfilter.o \
     100    $(COLSERVR_DIR)/mgqueryfilter.o \
     101    $(COLSERVR_DIR)/mgppsearch.o \
     102    $(COLSERVR_DIR)/mgppqueryfilter.o \
     103    $(COLSERVR_DIR)/collectset.o \
     104    $(COLSERVR_DIR)/lucenesearch.o \
     105    $(COLSERVR_DIR)/lucenequeryfilter.o \
     106    $(COLSERVR_DIR)/lucenegdbmsource.o \
     107    $(COLSERVR_DIR)/expat_resultset.o \
     108    $(COLSERVR_DIR)/expat_document.o
     109
     110PROTOCOL_OBJECTS = \
     111    $(PROTOCOL_DIR)/nullproto.o \
     112    $(PROTOCOL_DIR)/recptproto.o
     113
     114SOURCES = \
     115    action.cpp \
     116    argdb.cpp \
     117    authenaction.cpp \
     118    browseaction.cpp \
     119    browseactiontools.cpp \
     120    browserclass.cpp \
     121    browsetoolsclass.cpp \
     122    cgiargs.cpp \
     123    cgiutils.cpp \
     124    cgiwrapper.cpp \
     125    collectoraction.cpp \
     126        converter.cpp \
     127    datelistbrowserclass.cpp \
     128    depositoraction.cpp \
     129    documentaction.cpp \
     130    extlinkaction.cpp \
     131    formattools.cpp \
     132    gtiaction.cpp \
     133    highlighttext.cpp \
     134    historydb.cpp \
     135    hlistbrowserclass.cpp \
     136    htmlbrowserclass.cpp \
     137    htmlutils.cpp \
     138    invbrowserclass.cpp \
     139    librarymain.cpp \
     140    maincfg.cpp \
     141    pageaction.cpp \
     142    pagedbrowserclass.cpp \
     143    phindaction.cpp \
     144    phindbrowserclass.cpp \
     145    pingaction.cpp \
     146    queryaction.cpp \
     147    querytools.cpp \
     148    receptionist.cpp \
     149    recptprototools.cpp \
     150    statusaction.cpp \
     151    summarise.cpp \
     152    tipaction.cpp \
     153    userdb.cpp \
     154    usersaction.cpp \
     155    vlistbrowserclass.cpp \
     156    wizardaction.cpp
     157
     158OBJECTS = \
     159    action.o \
     160    argdb.o \
     161    authenaction.o \
     162    browseaction.o \
     163    browseactiontools.o \
     164    browserclass.o \
     165    browsetoolsclass.o \
     166    cgiargs.o \
     167    cgiutils.o \
     168    cgiwrapper.o \
     169    collectoraction.o \
     170        converter.o \
     171    datelistbrowserclass.o \
     172    depositoraction.o \
     173    documentaction.o \
     174    extlinkaction.o \
     175    formattools.o \
     176    gtiaction.o \
     177    highlighttext.o \
     178    historydb.o \
     179    hlistbrowserclass.o \
     180    htmlbrowserclass.o \
     181    htmlutils.o \
     182    invbrowserclass.o \
     183    librarymain.o \
     184    maincfg.o \
     185    pageaction.o \
     186    pagedbrowserclass.o \
     187    phindaction.o \
     188    phindbrowserclass.o \
     189    pingaction.o \
     190    queryaction.o \
     191    querytools.o \
     192    receptionist.o \
     193    recptprototools.o \
     194    statusaction.o \
     195    summarise.o \
     196    tipaction.o \
     197    userdb.o \
     198    usersaction.o \
     199    vlistbrowserclass.o \
     200    wizardaction.o
     201
     202GSDL_LIBS = \
     203    $(GSDL_DIR)/lib/gsdllib.a  \
     204    $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
     205    $(INDEXERS_DIR)/mg/lib/libmglib.a \
     206    $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
     207    $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a
     208
     209EXEC_OBJECTS = \
     210    $(OBJECTS) \
     211    $(PROTOCOL_OBJECTS) \
     212    $(COLSERVR_OBJECTS) \
     213    $(GSDL_LIBS)
     214
     215EXEC = library
     216
     217
     218library: $(EXEC_OBJECTS)
     219    $(CPPLINK) $(EXEC_OBJECTS) $(LIBS)
     220
     221all: $(EXEC)
     222
     223install: $(EXEC)
     224    $(INSTALL) -m 755 -s $(EXEC) $(GSDL_DIR)/cgi-bin
     225
     226clean:
     227    rm -f $(OBJECTS) $(EXEC)
    252228
    253229distclean:
    254     rm -f $(OBJECTS) $(EXEC) $(PARSE_TMPFILES) Makefile
    255 
    256 clean:
    257     rm -f $(OBJECTS) $(EXEC) $(PARSE_TMPFILES)
    258 
    259 install:
    260     $(INSTALL) -m 755 -s library ../../cgi-bin
    261 ifeq ($(USE_Z3950), 1)
    262     $(INSTALL) -m 755 -s z3950server ../../bin/$(GSDLOS)
    263 endif
     230    rm -f $(OBJECTS) $(EXEC) Makefile
    264231
    265232depend:
    266     makedepend -Y -- $(DEFS) $(INCLUDES) $(CXXFLAGS) -- $(SOURCES)
    267 
    268 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
    269 ifeq ($(USE_FASTCGI), 1)
    270     FASTCGI_OBJS = ../../packages/fcgi/libfcgi/libfcgi.a
    271 else
    272     FASTCGI_OBJS =
    273 endif
    274 
    275 RECPT_OBJS = $(COMMONOBJECTS) $(RECPTOBJECTS) \
    276     ../../lib/gsdllib.a  \
    277     $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
    278     $(INDEXERS_DIR)/mg/lib/libmglib.a \
    279     $(FASTCGI_OBJS) \
    280     $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
    281     $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a
    282 
    283 recpt: $(RECPT_OBJS)
    284     $(CXXLINK) $(RECPT_OBJS) $(LIBS)
    285 
    286 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
    287 ifeq ($(USE_Z3950), 1)
    288 Z_LIBYAZ_A=$(YAZDIR)/lib/libyaz.a
    289 else
    290 Z_LIBYAZ_A=
    291 endif
    292 
    293 
    294 LIBRARY_OBJS = $(COMMONOBJECTS) $(LIBRARYOBJECTS) $(COLSERVROBJECTS) $(PROTOCOLOBJECTS) $(Z_CLIENTOBJS) \
    295     ../../lib/gsdllib.a  \
    296     $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
    297     $(INDEXERS_DIR)/mg/lib/libmglib.a \
    298     $(FASTCGI_OBJS) $(Z_LIBYAZ_A) \
    299     $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
    300     $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a
    301 
    302 library: $(LIBRARY_OBJS)
    303     $(CXXLINK) $(LIBRARY_OBJS) $(LIBS)
    304 
    305 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
    306 
    307 RECPTLIB_OBJECTS = nullproto.o
    308 
    309 RLIBRARY_OBJS = $(COMMONOBJECTS) $(RECPTLIB_OBJECTS) $(COLSERVROBJECTS) \
    310     ../../lib/gsdllib.a  \
    311     $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
    312     $(INDEXERS_DIR)/mg/lib/libmglib.a \
    313     $(FASTCGI_OBJS) $(Z_LIBOBJS) $(Z_LIBYAZ_A) \
    314     $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
    315     $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a
    316 
    317 RECPTLIB_OBJS = $(RLIBRARY_OBJS)
    318 
    319 
    320 test:
    321 
    322 Z3950_OBJECTS = z3950explain.o z3950parser.o z3950server.o z3950_to_gsdl.o
    323 
    324 Z3950_OBJS = $(Z3950_OBJECTS) recptproto.o recptprototools.o nullproto.o $(COLSERVROBJECTS) \
    325     ../../lib/gsdllib.a  \
    326     $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
    327     $(INDEXERS_DIR)/mg/lib/libmglib.a \
    328     $(FASTCGI_OBJS) \
    329     $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
    330     $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a \
    331     ../../packages/yaz/lib/libyaz.a ../../packages/d2m/libd2m.a
    332 
    333 z3950server: $(Z3950_OBJS)
    334     @echo -e building z3950server
    335     $(CXXLINK) $(Z3950_OBJS) $(LIBS) -lxml2
     233    makedepend -Y -- $(DEFS) $(INCLUDES) $(CPPFLAGS) -- $(SOURCES)
Note: See TracChangeset for help on using the changeset viewer.