00001 #####################################################################
00002 #
00003 # Name: Makefile
00004 # Created by: Stefan Ritt
00005 #
00006 # Contents: Makefile for MIDAS binaries and examples under unix
00007 #
00008 # $Id: Makefile 4130 2008-02-27 18:59:37Z olchanski $
00009 #
00010 #####################################################################
00011 #
00012 # Usage:
00013 # gmake To compile the MIDAS library and binaries
00014 # gmake install To install the library and binaries
00015 # gmake examples To compile low-level examples (not necessary)
00016 # gmake static To make static executables for debugging
00017 #
00018 #
00019 # This makefile contains conditional code to determine the operating
00020 # system it is running under by evaluating the OSTYPE environment
00021 # variable. In case this does not work or if the GNU make is not
00022 # available, the conditional code has to be evaluated manually.
00023 # Remove all ifeq - endif blocks except the one belonging to the
00024 # current operating system. From this block remove only the first
00025 # and the last line (the one with the ifeq and endif statement).
00026 #
00027 # "gmake install" will copy MIDAS binaries, the midas library and
00028 # the midas include files to specific directories for each version.
00029 # You may change these directories to match your preferences.
00030 #####################################################################
00031
00032 # get OS type from shell
00033 OSTYPE = $(shell uname)
00034
00035 #
00036 # System direcotries for installation, modify if needed
00037 #
00038
00039 ifndef PREFIX
00040 PREFIX = /usr/local
00041 endif
00042
00043 SYSBIN_DIR = $(PREFIX)/bin
00044 SYSLIB_DIR = $(PREFIX)/lib
00045 SYSINC_DIR = $(PREFIX)/include
00046
00047 #
00048 # Midas preference flags
00049 # -DYBOS_VERSION_3_3 for YBOS up to version 3.3
00050 MIDAS_PREF_FLAGS =
00051
00052 #
00053 # Option to build the midas shared library
00054 #
00055 # To link midas with the static libmidas.a, say "make ... NEED_SHLIB="
00056 # To link midas with the shared libmidas.so, say "make ... NEED_SHLIB=1"
00057 #
00058 NEED_SHLIB=
00059
00060 #
00061 # Option to set the shared library path on MIDAS executables
00062 #
00063 NEED_RPATH=1
00064
00065 #
00066 # Option to use the static ROOT library libRoot.a
00067 #
00068 # To link midas with the static ROOT library, say "make ... NEED_LIBROOTA=1"
00069 #
00070 NEED_LIBROOTA=
00071
00072 #
00073 # Optional libmysqlclient library for mlogger
00074 #
00075 # To add mySQL support to the logger, say "make ... NEED_MYSQL=1"
00076 #
00077 # Here we try to figure out automatically if mySQL is installed
00078 MYSQL_CONFIG := $(shell which mysql_config 2> /dev/null)
00079 ifdef MYSQL_CONFIG
00080 MYSQLINCDIR := $(shell mysql_config --cflags | sed -e 's,^.*-I\([^ ]*\).*$$,\1,' -e s/\'
00081 NEED_MYSQL := $(shell if [ -e $(MYSQLINCDIR)/mysql.h ]; then echo 1; fi)
00082 endif
00083
00084 #
00085 # Option to use our own implementation of strlcat, strlcpy
00086 #
00087 NEED_STRLCPY=1
00088
00089 #
00090 # Directory in which mxml.c/h resides. This library has to be checked
00091 # out separately from the midas CVS since it's used in several projects
00092 #
00093 MXML_DIR=../mxml
00094
00095
00096 #
00097 # Optional zlib support for data compression in the mlogger and in the analyzer
00098 #
00099 NEED_ZLIB=
00100
00101 #####################################################################
00102 # Nothing needs to be modified after this line
00103 #####################################################################
00104
00105 #-----------------------
00106 # Common flags
00107 #
00108 CC = cc
00109 CXX = g++
00110 CFLAGS = -g -O3 -Wall -Wuninitialized -I$(INC_DIR) -I$(DRV_DIR) -I$(MXML_DIR) -L$(LIB_DIR) -DINCLUDE_FTPLIB $(MIDAS_PREF_FLAGS) $(USERFLAGS)
00111
00112 #-----------------------
00113 # Ovevwrite MAX_EVENT_SIZE with environment variable
00114 #
00115 ifdef MIDAS_MAX_EVENT_SIZE
00116 CFLAGS += -DMAX_EVENT_SIZE=$(MIDAS_MAX_EVENT_SIZE)
00117 endif
00118
00119 #-----------------------
00120 # OSF/1 (DEC UNIX)
00121 #
00122 ifeq ($(HOSTTYPE),alpha)
00123 OSTYPE = osf1
00124 endif
00125
00126 ifeq ($(OSTYPE),osf1)
00127 OS_DIR = osf1
00128 OSFLAGS = -DOS_OSF1
00129 FFLAGS = -nofor_main -D 40000000 -T 20000000
00130 LIBS = -lc -lbsd
00131 SPECIFIC_OS_PRG =
00132 endif
00133
00134 #-----------------------
00135 # Ultrix
00136 #
00137 ifeq ($(HOSTTYPE),mips)
00138 OSTYPE = ultrix
00139 endif
00140
00141 ifeq ($(OSTYPE),ultrix)
00142 OS_DIR = ultrix
00143 OSFLAGS = -DOS_ULTRIX -DNO_PTY
00144 LIBS =
00145 SPECIFIC_OS_PRG =
00146 endif
00147
00148 #-----------------------
00149 # FreeBSD
00150 #
00151 ifeq ($(OSTYPE), FreeBSD)
00152 OS_DIR = freeBSD
00153 OSFLAGS = -DOS_FREEBSD
00154 LIBS = -lbsd -lcompat
00155 SPECIFIC_OS_PRG =
00156 endif
00157
00158 #-----------------------
00159 # MacOSX/Darwin is just a funny Linux
00160 #
00161 ifeq ($(OSTYPE),Darwin)
00162 OSTYPE = darwin
00163 endif
00164
00165 ifeq ($(OSTYPE),darwin)
00166 OS_DIR = darwin
00167 OSFLAGS = -DOS_LINUX -DOS_DARWIN -DHAVE_STRLCPY -fPIC -Wno-unused-function
00168 LIBS = -lpthread
00169 SPECIFIC_OS_PRG = $(BIN_DIR)/mlxspeaker
00170 NEED_STRLCPY=
00171 NEED_RANLIB=1
00172 NEED_SHLIB=
00173 NEED_RPATH=
00174 endif
00175
00176 #-----------------------
00177 # This is for Cygwin
00178 #
00179 ifeq ($(OSTYPE),CYGWIN_NT-5.1)
00180 OSTYPE = cygwin
00181 endif
00182
00183 ifeq ($(OSTYPE),cygwin)
00184
00185 OS_DIR = cygwin
00186 OSFLAGS = -DOS_LINUX -DOS_CYGWIN -Wno-unused-function
00187 LIBS = -lutil -lpthread
00188 endif
00189
00190 #-----------------------
00191 # This is for Linux
00192 #
00193 ifeq ($(OSTYPE),Linux)
00194 OSTYPE = linux
00195 endif
00196
00197 ifeq ($(OSTYPE),linux)
00198
00199 # >2GB file support
00200 CFLAGS += -D_LARGEFILE64_SOURCE
00201
00202 # include ZLIB support
00203 NEED_ZLIB=1
00204
00205 OS_DIR = linux
00206 OSFLAGS = -DOS_LINUX -fPIC -Wno-unused-function
00207 # add to compile midas in 32-bit mode
00208 # OSFLAGS += -m32
00209 LIBS = -lutil -lpthread
00210 SPECIFIC_OS_PRG = $(BIN_DIR)/mlxspeaker $(BIN_DIR)/dio
00211 endif
00212
00213 #-----------------------
00214 # This is for Solaris
00215 #
00216 ifeq ($(OSTYPE),solaris)
00217 CC = gcc
00218 OS_DIR = solaris
00219 OSFLAGS = -DOS_SOLARIS
00220 LIBS = -lsocket -lnsl
00221 SPECIFIC_OS_PRG =
00222 endif
00223
00224 #####################################################################
00225 # end of conditional code
00226 #####################################################################
00227
00228 #
00229 # Midas directories
00230 #
00231 INC_DIR = include
00232 SRC_DIR = src
00233 UTL_DIR = utils
00234 DRV_DIR = drivers
00235 EXAM_DIR = examples
00236
00237 #
00238 # Midas operating system dependent directories
00239 #
00240 LIB_DIR = $(OS_DIR)/lib
00241 BIN_DIR = $(OS_DIR)/bin
00242
00243 #
00244 # targets
00245 #
00246 EXAMPLES = $(BIN_DIR)/consume $(BIN_DIR)/produce \
00247 $(BIN_DIR)/rpc_test $(BIN_DIR)/msgdump $(BIN_DIR)/minife \
00248 $(BIN_DIR)/minirc $(BIN_DIR)/odb_test
00249
00250 PROGS = $(BIN_DIR)/mserver $(BIN_DIR)/mhttpd \
00251 $(BIN_DIR)/mlogger $(BIN_DIR)/odbedit \
00252 $(BIN_DIR)/mtape $(BIN_DIR)/mhist \
00253 $(BIN_DIR)/mstat $(BIN_DIR)/mcnaf \
00254 $(BIN_DIR)/mdump $(BIN_DIR)/lazylogger \
00255 $(BIN_DIR)/mhdump \
00256 $(BIN_DIR)/mchart $(BIN_DIR)/stripchart.tcl \
00257 $(BIN_DIR)/webpaw $(BIN_DIR)/odbhist \
00258 $(BIN_DIR)/melog \
00259 $(SPECIFIC_OS_PRG)
00260
00261 ANALYZER = $(LIB_DIR)/mana.o
00262
00263 ifdef CERNLIB
00264 ANALYZER += $(LIB_DIR)/hmana.o
00265 endif
00266
00267 ifdef ROOTSYS
00268 ANALYZER += $(LIB_DIR)/rmana.o
00269 endif
00270
00271 OBJS = $(LIB_DIR)/midas.o $(LIB_DIR)/system.o $(LIB_DIR)/mrpc.o \
00272 $(LIB_DIR)/odb.o $(LIB_DIR)/ybos.o $(LIB_DIR)/ftplib.o \
00273 $(LIB_DIR)/mxml.o \
00274 $(LIB_DIR)/history.o $(LIB_DIR)/alarm.o $(LIB_DIR)/elog.o
00275
00276 ifdef NEED_STRLCPY
00277 OBJS += $(LIB_DIR)/strlcpy.o
00278 endif
00279
00280 LIBNAME=$(LIB_DIR)/libmidas.a
00281 LIB =$(LIBNAME)
00282 ifdef NEED_SHLIB
00283 SHLIB = $(LIB_DIR)/libmidas.so
00284 LIB = -lmidas -Wl,-rpath,$(SYSLIB_DIR)
00285 endif
00286 VPATH = $(LIB_DIR):$(INC_DIR)
00287
00288 all: check-mxml \
00289 $(OS_DIR) $(LIB_DIR) $(BIN_DIR) \
00290 $(LIBNAME) $(SHLIB) \
00291 $(ANALYZER) \
00292 $(LIB_DIR)/cnaf_callback.o \
00293 $(LIB_DIR)/mfe.o \
00294 $(LIB_DIR)/fal.o $(PROGS)
00295
00296 examples: $(EXAMPLES)
00297
00298 #####################################################################
00299
00300 #
00301 # create library and binary directories
00302 #
00303
00304 $(OS_DIR):
00305 @if [ ! -d $(OS_DIR) ] ; then \
00306 echo "Making directory $(OS_DIR)" ; \
00307 mkdir $(OS_DIR); \
00308 fi;
00309
00310 $(LIB_DIR):
00311 @if [ ! -d $(LIB_DIR) ] ; then \
00312 echo "Making directory $(LIB_DIR)" ; \
00313 mkdir $(LIB_DIR); \
00314 fi;
00315
00316 $(BIN_DIR):
00317 @if [ ! -d $(BIN_DIR) ] ; then \
00318 echo "Making directory $(BIN_DIR)" ; \
00319 mkdir $(BIN_DIR); \
00320 fi;
00321
00322 #
00323 # main binaries
00324 #
00325
00326 ifdef NEED_MYSQL
00327 CFLAGS += -DHAVE_MYSQL $(shell mysql_config --include)
00328 MYSQL_LIBS := $(shell mysql_config --libs)
00329 # only for mlogger LIBS += $(MYSQL_LIBS)
00330 NEED_ZLIB = 1
00331 endif
00332
00333 ifdef ROOTSYS
00334 ROOTLIBS := $(shell $(ROOTSYS)/bin/root-config --libs)
00335 ROOTGLIBS := $(shell $(ROOTSYS)/bin/root-config --glibs)
00336 ROOTCFLAGS := $(shell $(ROOTSYS)/bin/root-config --cflags)
00337
00338 ifdef NEED_RPATH
00339 ROOTLIBS += -Wl,-rpath,$(ROOTSYS)/lib
00340 ROOTGLIBS += -Wl,-rpath,$(ROOTSYS)/lib
00341 endif
00342
00343 ifdef NEED_LIBROOTA
00344 ROOTLIBS := $(ROOTSYS)/lib/libRoot.a -lssl -ldl -lcrypt
00345 ROOTGLIBS := $(ROOTLIBS) -lfreetype
00346 endif
00347
00348 CFLAGS += -DHAVE_ROOT $(ROOTCFLAGS)
00349
00350 endif # ROOTSYS
00351
00352 ifdef NEED_ZLIB
00353 CFLAGS += -DHAVE_ZLIB
00354 LIBS += -lz
00355 endif
00356
00357 $(BIN_DIR)/mlogger: $(BIN_DIR)/%: $(SRC_DIR)/%.c
00358 $(CXX) $(CFLAGS) $(OSFLAGS) -o $@ $< $(LIB) $(ROOTLIBS) $(MYSQL_LIBS) $(LIBS)
00359
00360 $(BIN_DIR)/%:$(SRC_DIR)/%.c
00361 $(CC) $(CFLAGS) $(OSFLAGS) -o $@ $< $(LIB) $(LIBS)
00362
00363 $(BIN_DIR)/odbedit: $(SRC_DIR)/odbedit.c $(SRC_DIR)/cmdedit.c
00364 $(CC) $(CFLAGS) $(OSFLAGS) -o $@ $(SRC_DIR)/odbedit.c $(SRC_DIR)/cmdedit.c $(LIB) $(LIBS)
00365
00366 $(BIN_DIR)/mhttpd: $(SRC_DIR)/mhttpd.c $(SRC_DIR)/mgd.c
00367 $(CC) $(CFLAGS) $(OSFLAGS) -o $@ $(SRC_DIR)/mhttpd.c $(SRC_DIR)/mgd.c $(LIB) $(LIBS) -lm
00368
00369 $(PROGS): $(LIBNAME) $(SHLIB)
00370
00371 #
00372 # examples
00373 #
00374
00375 $(BIN_DIR)/%:$(EXAM_DIR)/lowlevel/%.c
00376 $(CC) $(CFLAGS) $(OSFLAGS) -o $@ $< $(LIB) $(LIBS)
00377
00378 $(BIN_DIR)/%:$(EXAM_DIR)/basic/%.c
00379 $(CC) $(CFLAGS) $(OSFLAGS) -o $@ $< $(LIB) $(LIBS)
00380
00381 $(EXAMPLES): $(LIBNAME)
00382
00383 #
00384 # midas library
00385 #
00386
00387 $(LIBNAME): $(OBJS)
00388 rm -f $@
00389 ar -crv $@ $^
00390 ifdef NEED_RANLIB
00391 ranlib $@
00392 endif
00393
00394 ifdef NEED_SHLIB
00395 $(SHLIB): $(OBJS)
00396 rm -f $@
00397 ld -shared -o $@ $^ $(LIBS) -lc
00398 endif
00399
00400 #
00401 # frontend and backend framework
00402 #
00403
00404 $(LIB_DIR)/mfe.o: msystem.h midas.h midasinc.h mrpc.h
00405 $(LIB_DIR)/fal.o: $(SRC_DIR)/fal.c msystem.h midas.h midasinc.h mrpc.h
00406
00407 $(LIB_DIR)/fal.o: $(SRC_DIR)/fal.c msystem.h midas.h midasinc.h mrpc.h
00408 $(CXX) -Dextname -DMANA_LITE -c $(CFLAGS) $(OSFLAGS) -o $@ $<
00409 $(LIB_DIR)/mana.o: $(SRC_DIR)/mana.c msystem.h midas.h midasinc.h mrpc.h
00410 $(CC) -c $(CFLAGS) $(OSFLAGS) -o $@ $<
00411 $(LIB_DIR)/hmana.o: $(SRC_DIR)/mana.c msystem.h midas.h midasinc.h mrpc.h
00412 $(CC) -Dextname -DHAVE_HBOOK -c $(CFLAGS) $(OSFLAGS) -o $@ $<
00413 ifdef ROOTSYS
00414 $(LIB_DIR)/rmana.o: $(SRC_DIR)/mana.c msystem.h midas.h midasinc.h mrpc.h
00415 $(CXX) -DUSE_ROOT -c $(CFLAGS) $(OSFLAGS) $(ROOTCFLAGS) -o $@ $<
00416 endif
00417
00418 #
00419 # library objects
00420 #
00421
00422 $(LIB_DIR)/%.o:$(SRC_DIR)/%.c
00423 $(CC) -c $(CFLAGS) $(OSFLAGS) -o $@ $<
00424
00425 $(LIB_DIR)/mxml.o:$(MXML_DIR)/mxml.c
00426 $(CC) -c $(CFLAGS) $(OSFLAGS) -o $@ $(MXML_DIR)/mxml.c
00427
00428 $(LIB_DIR)/strlcpy.o:$(MXML_DIR)/strlcpy.c
00429 $(CC) -c $(CFLAGS) $(OSFLAGS) -o $@ $(MXML_DIR)/strlcpy.c
00430
00431 $(LIB_DIR)/midas.o: msystem.h midas.h midasinc.h mrpc.h
00432 $(LIB_DIR)/system.o: msystem.h midas.h midasinc.h mrpc.h
00433 $(LIB_DIR)/mrpc.o: msystem.h midas.h mrpc.h
00434 $(LIB_DIR)/odb.o: msystem.h midas.h midasinc.h mrpc.h
00435 $(LIB_DIR)/ybos.o: msystem.h midas.h midasinc.h mrpc.h
00436 $(LIB_DIR)/ftplib.o: msystem.h midas.h midasinc.h
00437 $(LIB_DIR)/mxml.o: msystem.h midas.h midasinc.h $(MXML_DIR)/mxml.h
00438
00439 #
00440 # utilities
00441 #
00442 $(BIN_DIR)/%:$(UTL_DIR)/%.c
00443 $(CC) $(CFLAGS) $(OSFLAGS) -o $@ $< $(LIB) $(LIBS)
00444
00445
00446 $(BIN_DIR)/mcnaf: $(UTL_DIR)/mcnaf.c $(DRV_DIR)/camac/camacrpc.c
00447 $(CC) $(CFLAGS) $(OSFLAGS) -o $@ $(UTL_DIR)/mcnaf.c $(DRV_DIR)/camac/camacrpc.c $(LIB) $(LIBS)
00448
00449 $(BIN_DIR)/mdump: $(UTL_DIR)/mdump.c
00450 $(CC) $(CFLAGS) $(OSFLAGS) -o $@ $(UTL_DIR)/mdump.c $(LIB) $(LIBS)
00451
00452 $(BIN_DIR)/mhdump: $(UTL_DIR)/mhdump.cxx
00453 $(CXX) $(CFLAGS) $(OSFLAGS) -o $@ $<
00454
00455 $(BIN_DIR)/lazylogger: $(SRC_DIR)/lazylogger.c
00456 $(CC) $(CFLAGS) $(OSFLAGS) -o $@ $(SRC_DIR)/lazylogger.c $(LIB) $(LIBS)
00457
00458 $(BIN_DIR)/dio: $(UTL_DIR)/dio.c
00459 $(CC) $(CFLAGS) $(OSFLAGS) -o $@ $(UTL_DIR)/dio.c
00460
00461 $(BIN_DIR)/stripchart.tcl: $(UTL_DIR)/stripchart.tcl
00462 cp -f $(UTL_DIR)/stripchart.tcl $(BIN_DIR)/.
00463
00464
00465 #####################################################################
00466
00467 static:
00468 rm -f $(PROGS)
00469 make USERFLAGS=-static
00470
00471 #####################################################################
00472
00473 install:
00474 # system programs and utilities
00475 @echo "... "
00476 @echo "... Installing programs and utilities to $(SYSBIN_DIR)"
00477 @echo "... "
00478
00479 @for file in `find $(BIN_DIR) -type f | grep -v .svn` ; \
00480 do \
00481 install -v -D -m 755 $$file $(SYSBIN_DIR)/`basename $$file` ; \
00482 done
00483
00484 install -v -m 755 $(UTL_DIR)/mcleanup $(SYSBIN_DIR)
00485 if [ -f $(SYSBIN_DIR)/dio ]; then chmod +s $(SYSBIN_DIR)/dio ; fi
00486 if [ -f $(SYSBIN_DIR)/mhttpd ]; then chmod +s $(SYSBIN_DIR)/mhttpd; fi
00487 if [ -f $(SYSBIN_DIR)/webpaw ]; then chmod +s $(SYSBIN_DIR)/webpaw; fi
00488 ln -fs $(SYSBIN_DIR)/stripchart.tcl $(SYSBIN_DIR)/stripchart
00489
00490 # include
00491 @echo "... "
00492 @echo "... Installing include files to $(SYSINC_DIR)"
00493 @echo "... "
00494
00495 @for file in `find $(INC_DIR) -type f | grep -v .svn` ; \
00496 do \
00497 install -v -D -m 644 $$file $(SYSINC_DIR)/`basename $$file` ; \
00498 done
00499
00500 # library + objects
00501 @echo "... "
00502 @echo "... Installing library and objects to $(SYSLIB_DIR)"
00503 @echo "... "
00504
00505 @for i in libmidas.a mana.o mfe.o fal.o ; \
00506 do \
00507 install -v -D -m 644 $(LIB_DIR)/$$i $(SYSLIB_DIR)/$$i ; \
00508 done
00509
00510 ifdef CERNLIB
00511 install -v -m 644 $(LIB_DIR)/hmana.o $(SYSLIB_DIR)/hmana.o
00512 else
00513 rm -fv $(SYSLIB_DIR)/hmana.o
00514 chmod +s $(SYSBIN_DIR)/mhttpd
00515 endif
00516 ifdef ROOTSYS
00517 install -v -m 644 $(LIB_DIR)/rmana.o $(SYSLIB_DIR)/rmana.o
00518 else
00519 rm -fv $(SYSLIB_DIR)/rmana.o
00520 endif
00521 ifdef NEED_SHLIB
00522 install -v -m 644 $(LIB_DIR)/libmidas.so $(SYSLIB_DIR)
00523 else
00524 rm -fv $(SYSLIB_DIR)/libmidas.so
00525 endif
00526
00527 # drivers
00528 @echo "... "
00529 @echo "... Installing drivers to $(PREFIX)/drivers"
00530 @echo "... "
00531
00532 @for file in `find $(DRV_DIR) -type f | grep -v .svn` ; \
00533 do \
00534 install -v -D -m 644 $$file $(PREFIX)/$$file ;\
00535 done
00536
00537 #--------------------------------------------------------------
00538 # mininal_install
00539 minimal_install:
00540 # system programs
00541 @echo "... "
00542 @echo "... Minimal Install for programs to $(SYSBIN_DIR)"
00543 @echo "... "
00544
00545 @for i in mserver mhttpd; \
00546 do \
00547 install -v -m 755 $(BIN_DIR)/$$i $(SYSBIN_DIR) ; \
00548 done
00549
00550 ifeq ($(OSTYPE),linux)
00551 install -v -m 755 $(BIN_DIR)/dio $(SYSBIN_DIR)
00552 endif
00553 install -v -m 755 $(UTL_DIR)/mcleanup $(SYSBIN_DIR)
00554 if [ -f $(SYSBIN_DIR)/dio ]; then chmod +s $(SYSBIN_DIR)/dio; fi
00555 if [ -f $(SYSBIN_DIR)/mhttpd ]; then chmod +s $(SYSBIN_DIR)/mhttpd; fi
00556
00557 # utilities
00558 @echo "... "
00559 @echo "... No utilities install to $(SYSBIN_DIR)"
00560 @echo "... "
00561
00562 # include
00563 @echo "... "
00564 @echo "... No include install to $(SYSINC_DIR)"
00565 @echo "... "
00566
00567 # library + objects
00568 @echo "... "
00569 @echo "... No library Install to $(SYSLIB_DIR)"
00570 @echo "... "
00571
00572 indent:
00573 find . -name "*.[hc]" -exec indent -kr -nut -i3 -l90 {} \;
00574
00575 clean:
00576 rm -f $(LIB_DIR)
00577
00578
00579
00580
00581
00582
00583
00584
00585
00586
00587
00588
00589
00590
00591
00592
00593
00594
00595