# @file Makefile # # @brief Unix Make tool configuration file. # # @usage Enter make help for informations. # # @bug This Makefile need some updates.. # @warning # @todo Make install should install library to /usr/lib and include files, # it would be nice to have a ./configure too. # # @version 0.56b # @date 28/11/2005 # @author Alessandro Polo # # ############################################################################# # VETLib Framework 1.02 # Copyright (C) Alessandro Polo 2005 # http://www.ewgate.net/vetlib # ############################################################################# CC= g++ C= gcc AR= ar RANLIB= ranlib IDIR= ./include LIBDIR= ./lib FLAGS= -I$(IDIR) -L$(LIBDIR) CCFLAGS=$(FLAGS) -g -Wall -O3 CFLAGS= $(FLAGS) -g -Wall -O3 SRCS= ./source/vetFrameYUV420.cpp \ ./source/vetFrameRGB24.cpp \ ./source/vetFrameRGBA32.cpp \ ./source/vetFrameRGB96.cpp \ ./source/vetFrameHSV.cpp \ ./source/vetFrameGrey.cpp \ ./source/vetInput.cpp \ ./source/vetProcess.cpp \ ./source/vetObject.cpp \ ./source/vetFilter.cpp \ ./source/vetHist.cpp \ ./source/vetUtility.cpp \ ./support/ccvt/ccvt_c.c \ ./source/vetVision.cpp \ ./source/math/vetStatistics.cpp \ ./source/filters/vetDigitalFilter.cpp \ ./source/filters/vetMultiplexer.cpp \ ./source/filters/vetFilterNoiseChannel.cpp \ ./source/filters/vetFilterGeometric.cpp \ ./source/filters/vetFilterColor.cpp \ ./source/inputs/vetNoiseGenerator.cpp \ ./source/inputs/vetPlainFrameGenerator.cpp \ ./source/outputs/vetDoctor.cpp \ ./source/outputs/vetOuputVoid.cpp \ ./source/vision/vetMotionLame.cpp \ ./source/vision/vetMotionIlluminationInvariant.cpp \ ./source/codecs/vetCodec_BMP.cpp \ ./source/codecs/external_BMP/MicrosoftBMP_RT.cpp \ ./source/codecs/external_BMP/MicrosoftMonoBMP_RT.cpp \ ./source/codecs/external_BMP/MicrosoftRCBMP_RT.cpp OBJS= $(SRCS:.cpp=.o) #CCVTOBJ= ./include/ccvt/ccvt_c.o #CCVTSRC= ./include/ccvt/ccvt_c.c LIBS= -lstdc++ .SUFFIXES: .cpp .o .cpp.o: $(CC) $(CCFLAGS) -c $< $(OUTPUT_OPTION) .c.o: $(C) $(CFLAGS) -c $< $(OUTPUT_OPTION) $(OBJS): $(INCLUDE) VETLIB= ./lib/VETLib.a VETL= VETLib V4L= v4l MPEG3 = mpeg QT4L = quicktime XVID = xvid GUI = gui MAGICK = magick ################################################################# # 'make all' is equal to 'make VETLib' all: $(OBJS) Makefile @ echo @ echo VETLib Make: VETLib! @ echo @ echo Making VETLib with ImageMagick, Video4Linux, XVID, MPEG, QT, GTK support... @ $(CC) -c ./source/codecs/vetCodec_IMG.cpp -o ./source/codecs/vetCodec_IMG.o @ $(AR) rvs $(VETLIB) $(OBJS) ./source/codecs/vetCodec_IMG.o @ $(CC) -c ./source/inputs/vetVideo4Linux.cpp -o ./source/inputs/vetVideo4Linux.o @ $(AR) r $(VETLIB) $(OBJS) ./source/inputs/vetVideo4Linux.o @ $(CC) -c ./source/outputs/vetWindowQT.cpp -o ./source/outputs/vetWindowQT.o @ $(AR) r $(VETLIB) $(OBJS) ./source/outputs/vetWindowQT.o @ $(CC) -c ./source/outputs/vetWindowGTK.cpp -o ./source/outputs/vetWindowGTK.o `pkg-config --cflags --libs gtk+-2.0` @ $(AR) r $(VETLIB) $(OBJS) ./source/outputs/vetWindowGTK.o @ $(CC) -c ./source/codecs/vetCodec_MPEG.cpp -o ./source/codecs/vetCodec_MPEG.o @ $(AR) r $(VETLIB) $(OBJS) ./source/codecs/vetCodec_MPEG.o @ $(CC) -c ./source/codecs/vetCodec_MOV.cpp -o ./source/codecs/vetCodec_MOV.o @ $(AR) r $(VETLIB) $(OBJS) @ $(CC) -c ./source/codecs/vetCodec_XVID.cpp -o ./source/codecs/vetCodec_XVID.o @ $(AR) rvs $(VETLIB) $(OBJS) ./source/codecs/vetCodec_XVID.o @ $(RANLIB) $(VETLIB) @ echo Making done. @ echo @ echo VETLib Make: Finished. @ echo # Removing objects (.o) and VETLib file. clean: @ echo @ echo VETLib Make: Cleaning! @ echo @ echo -n Removing Objects.. @ cd source; rm -r -f *.o; cd ..; @ echo .. done. @ echo -n Removing VETLib.. @ rm -f $(VETLIB) @ echo .. done. @ echo @ echo VETLib Make: Finished. @ echo # 'make VETLib' contruct library of object files. # ar rvu lib.a x.o y.o # ranlib lib.a $(VETL): $(OBJS) Makefile @ echo @ echo VETLib Make: VETLib! @ echo @ echo Making $(VETLIB) ... @ $(AR) r $(VETLIB) $(OBJS) #$(CCVTOBJ) @ $(RANLIB) $(VETLIB) @ echo Making done. @ echo @ echo VETLib Make: Finished. @ echo $(V4L): $(OBJS) Makefile @ echo @ echo VETLib Make: VETLib! @ echo @ echo Making VETLib with Video4Linux support... @ $(CC) -c ./source/inputs/vetVideo4Linux.cpp -o ./source/inputs/vetVideo4Linux.o @ $(AR) r $(VETLIB) $(OBJS) ./source/inputs/vetVideo4Linux.o @ $(RANLIB) $(VETLIB) @ echo Making done. @ echo @ echo VETLib Make: Finished. @ echo $(GUI): $(OBJS) Makefile @ echo @ echo VETLib Make: VETLib! @ echo @ echo Making VETLib with GUI support... (QT library) @ $(CC) -c ./source/outputs/vetWindowQT.cpp -o ./source/outputs/vetWindowQT.o @ $(AR) r $(VETLIB) $(OBJS) ./source/outputs/vetWindowQT.o @ $(CC) -c ./source/outputs/vetWindowGTK.cpp -o ./source/outputs/vetWindowGTK.o `pkg-config --cflags --libs gtk+-2.0` @ $(AR) r $(VETLIB) $(OBJS) ./source/outputs/vetWindowGTK.o @ $(RANLIB) $(VETLIB) @ echo Making done. @ echo @ echo VETLib Make: Finished. @ e $(MPEG3): $(OBJS) Makefile @ echo @ echo VETLib Make: VETLib! @ echo @ echo Making VETLib with MPEG support... @ $(CC) -c ./source/codecs/vetCodec_MPEG.cpp -o ./source/codecs/vetCodec_MPEG.o @ $(AR) r $(VETLIB) $(OBJS) ./source/codecs/vetCodec_MPEG.o @ $(RANLIB) $(VETLIB) @ echo Making done. @ echo @ echo VETLib Make: Finished. @ echo #-L/usr/lib/ -lpthread -lmpeg3 $(QT4L): $(OBJS) Makefile @ echo @ echo VETLib Make: VETLib! @ echo @ echo Making VETLib with MPEG [MPEG 1-2] support... @ $(CC) -c ./source/codecs/vetCodec_MOV.cpp -o ./source/codecs/vetCodec_MOV.o @ $(AR) r $(VETLIB) $(OBJS) ./source/codecs/vetCodec_MOV.o @ $(RANLIB) $(VETLIB) @ echo Making done. @ echo @ echo VETLib Make: Finished. @ echo #-L/usr/lib/ -lpthread -lpng -ldl -lz -lglib -L./quicktime4linux/i686 -lquicktime $(XVID): $(OBJS) Makefile @ echo @ echo VETLib Make: VETLib! @ echo @ echo Making VETLib with XVID [MPEG4] support... @ $(CC) -c ./source/codecs/vetCodec_XVID.cpp -o ./source/codecs/vetCodec_XVID.o @ $(AR) r $(VETLIB) $(OBJS) ./source/codecs/vetCodec_XVID.o @ $(RANLIB) $(VETLIB) @ echo Making done. @ echo @ echo VETLib Make: Finished. @ echo #-L/usr/lib/ -L./xvidcore/ -lxvidcore $(MAGICK): $(OBJS) Makefile @ echo @ echo VETLib Make: VETLib! @ echo @ echo Making VETLib with ImageMagicK support... @ $(CC) -c ./source/codecs/vetCodec_IMG.cpp -o ./source/codecs/vetCodec_IMG.o @ $(AR) r $(VETLIB) $(OBJS) ./source/codecs/vetCodec_IMG.o @ $(RANLIB) $(VETLIB) @ echo Making done. @ echo @ echo VETLib Make: Finished. @ echo help: @ echo @ echo VETLib Test Make: HELP! @ echo ======================= @ echo @ echo Available Tests: @ echo @ echo . $(VETL) [standard library] @ echo @ echo . $(GUI) [GUI support: GTK, QT] * @ echo . $(V4L) [Video4Linux support] * @ echo . $(MPEG3) [MPEG1-2 support] * @ echo . $(QT4L) [QuickTime support] * @ echo . $(XVID) [XVID-MPEG4 support] * @ echo @ echo @ echo Usage: @ echo Make all : Build with all options. @ echo Make 'option' : Build with selected support. @ echo Make clean : Remove intermediate objects. @ echo @ echo @ echo Output is located in ./lib/VETLib.a @ echo @ echo * need external libraries (check ./COMPILE and ./support/NOTES) @ echo @ echo