📄 makefile.in
字号:
################################################################################# Makefile for Motion ################################################################################## Copyright 2000 by Jeroen Vreeken ## ## This program is published under the GNU public license version 2.0 or later. ## Please read the file COPYING for more info. ################################################################################## Please visit the Motion home page: ## http://www.lavrsen.dk/twiki/bin/view/Motion #################################################################################CC = @CC@INSTALL = installVERSION = @VERSION@################################################################################# Install locations, controlled by setting configure flags. #################################################################################prefix = @prefix@exec_prefix = @exec_prefix@bindir = @bindir@mandir = @mandir@sysconfdir = @sysconfdir@datadir = @datadir@docdir = $(datadir)/doc/motion-$(VERSION)examplesdir = $(docdir)/examples################################################################################# These variables contain compiler flags, object files to build and files to ## install. #################################################################################CFLAGS = @CFLAGS@ -Wall -DVERSION=\"$(VERSION)\" -D_REENTRANT \ -Dsysconfdir=\"$(sysconfdir)\"LDFLAGS = @LDFLAGS@LIBS = @LIBS@ VIDEO_OBJ = @VIDEO@OBJ = motion.o conf.o draw.o $(VIDEO_OBJ) netcam.o \ netcam_ftp.o netcam_jpeg.o netcam_wget.o track.o \ alg.o event.o picture.o rotate.o webhttpd.o \ webcam.o @FFMPEG_OBJ@SRC = $(OBJ:.o=.c)DOC = CHANGELOG COPYING CREDITS INSTALL README motion_guide.htmlEXAMPLES = *.conf motion.init-Debian motion.init-RH motion.init-FreeBSD.shPROGS = motionDEPEND_FILE = .depend################################################################################# ALL and PROGS build Motion and, possibly, Motion-control. #################################################################################all: progsifneq (,$(findstring freebsd,$(VIDEO_OBJ))) @echo "Build complete, run \"gmake install\" to install Motion!"else @echo "Build complete, run \"make install\" to install Motion!"endif @echoprogs: pre-build-info $(PROGS)################################################################################# PRE-BUILD-INFO outputs some general info before the build process starts. #################################################################################pre-build-info: @echo "Welcome to the setup procedure for Motion, the motion detection daemon! If you get" @echo "error messages during this procedure, please report them to the mailing list. The" @echo "Motion Guide contains all information you should need to get Motion up and running." @echo "Run \"make updateguide\" to download the latest version of the Motion Guide." @echo @echo "Version: $(VERSION)"ifneq (,$(findstring freebsd,$(VIDEO_OBJ))) @echo "Platform: FreeBSD"else @echo "Platform: Linux (if this is incorrect, please read README.FreeBSD)"endif @echo################################################################################# MOTION builds motion. MOTION-OBJECTS and PRE-MOBJECT-INFO are helpers. #################################################################################motion: motion-objects @echo "Linking Motion..." @echo "--------------------------------------------------------------------------------" $(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) @echo "--------------------------------------------------------------------------------" @echo "Motion has been linked." @echomotion-objects: dep pre-mobject-info $(OBJ) @echo "--------------------------------------------------------------------------------" @echo "Motion object files compiled." @echo pre-mobject-info: @echo "Compiling Motion object files..." @echo "--------------------------------------------------------------------------------"################################################################################# Define the compile command for C files. ##################################################################################%.o: %.c# @echo -e "\tCompiling $< into $@..."# @$(CC) -c $(CFLAGS) $< -o $@################################################################################# Include the dependency file if it exists. #################################################################################ifeq ($(DEPEND_FILE), $(wildcard $(DEPEND_FILE)))ifeq (,$(findstring clean,$(MAKECMDGOALS)))-include $(DEPEND_FILE)endifendif################################################################################# Make the dependency file depend on all header files and all relevant source ## files. This forces the file to be re-generated if the source/header files ## change. Note, however, that the existing version will be included before ## re-generation. #################################################################################$(DEPEND_FILE): *.h $(SRC) @echo "Generating dependencies, please wait..." @$(CC) $(CFLAGS) -M $(SRC) > .tmp @mv -f .tmp $(DEPEND_FILE) @echo################################################################################# DEP, DEPEND and FASTDEP generate the dependency file. #################################################################################dep depend fastdep: $(DEPEND_FILE)################################################################################# INSTALL installs all relevant files. #################################################################################install: @echo "Installing files..." @echo "--------------------------------------------------------------------------------" mkdir -p $(DESTDIR)$(bindir) mkdir -p $(DESTDIR)$(mandir)/man1 mkdir -p $(DESTDIR)$(sysconfdir) mkdir -p $(DESTDIR)$(docdir) mkdir -p $(DESTDIR)$(examplesdir) $(INSTALL) motion.1 $(DESTDIR)$(mandir)/man1 $(INSTALL) $(DOC) $(DESTDIR)$(docdir) $(INSTALL) $(EXAMPLES) $(DESTDIR)$(examplesdir) $(INSTALL) motion-dist.conf $(DESTDIR)$(sysconfdir) for prog in $(PROGS); \ do \ ($(INSTALL) $$prog $(DESTDIR)$(bindir) ); \ done @echo "--------------------------------------------------------------------------------" @echo "Install complete! The default configuration file, motion-dist.conf, has been" @echo "installed to $(sysconfdir). You need to rename/copy it to $(sysconfdir)/motion.conf" @echo "for Motion to find it. More configuration examples as well as init scripts" @echo "can be found in $(examplesdir)." @echo################################################################################# UNINSTALL and REMOVE uninstall already installed files. #################################################################################uninstall remove: pre-build-info @echo "Uninstalling files..." @echo "--------------------------------------------------------------------------------" for prog in $(PROGS); \ do \ ($ rm -f $(bindir)/$$prog ); \ done rm -f $(mandir)/man1/motion.1 rm -f $(sysconfdir)/motion-dist.conf rm -rf $(docdir) @echo "--------------------------------------------------------------------------------" @echo "Uninstall complete!" @echo################################################################################# CLEAN is basic cleaning; removes object files and executables, but does not ## remove files generated from the configure step. #################################################################################clean: pre-build-info @echo "Removing compiled files and binaries..." @rm -f *~ *.jpg *.o $(PROGS) combine $(DEPEND_FILE)################################################################################# DIST restores the directory to distribution state. #################################################################################dist: distclean updateguide @chmod -R 644 * @chmod 755 configure @chmod 755 debian @chmod 755 debian/rules################################################################################# DEB create a deb package. #################################################################################deb: @chmod -R 644 * @chmod 755 configure @chmod 755 debian @chmod 755 debian/rules dpkg-buildpackage -tc -b -rfakeroot################################################################################# DISTCLEAN removes all files generated during the configure step in addition ## to basic cleaning. #################################################################################distclean: clean @echo "Removing files generated by configure..." @rm -f config.status config.log config.cache Makefile motion.init-RH motion.init-Debian motion.init-FreeBSD.sh @rm -rf autom4te.cache @echo "You will need to re-run configure if you want to build Motion." @echo################################################################################# UPDATEGUIDE downloads the Motion Guide from TWiki. #################################################################################updateguide: pre-build-info @echo "Downloading Motion Guide. If it fails, please check your Internet connection." @echo wget www.lavrsen.dk/twiki/bin/view/Motion/MotionGuideOneLargeDocument?skin=text -O motion_guide.tmp @echo "Cleaning up and fixing links..." @cat motion_guide.tmp | sed -e 's/\?CGISESSID=[0-9a-fA-F]*//g;s,"/twiki/,"http://www.lavrsen.dk/twiki/,g' > motion_guide.html @rm -f motion_guide.tmp @echo "All done, you should now have an up-to-date local copy of the Motion guide." @echo
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -