prefix := @prefix@ exec_prefix := @exec_prefix@ srcdir := @srcdir@ dstdir := @datadir@ slnkdir := @bindir@ VPATH := $(srcdir) STATIC := @STATIC@ doc_files := docs INSTALL CREDITS FAQ GNUGPL HELP README TODO AGREEMENT remote.help FILES_TO_INSTALL := *.tcl hotmlog.htm amsn amsn-remote amsn-remote-CLI amsn.desktop langlist FILES_TO_INSTALL += $(doc_files) FILES_TO_INSTALL += icons lang skins utils/base64 utils/drawboard utils/framec utils/http2.4 FILES_TO_INSTALL += utils/pixmapscroll utils/pixmapmenu utils/contentmanager FILES_TO_INSTALL += utils/scalable-bg utils/sha1 utils/snit utils/BWidget-1.7.0 utils/dpbrowser FILES_TO_INSTALL += plugins FILES_TO_INSTALL += utils/tclsoap1.6.7 utils/log utils/uri utils/tcldom utils/Tclxml utils/combobox FILES_TO_EXCLUDE := lang/genpage.c lang/addkey.tcl lang/lang1.tmpl lang/lang2.tmpl lang/lang3.tmpl lang/langchk.sh lang/complete.pl lang/genlangfiles.c utils/webcamsn/webcamsn.tcl capture_dir := $(srcdir)/utils/linux/capture webcamsn_dir := $(srcdir)/utils/webcamsn tkcximage_dir := $(srcdir)/utils/TkCximage tray_dir := $(srcdir)/utils/linux/traydock linflash_dir := $(srcdir)/utils/linux/linflash # programs CC := @CC@ CXX := @CXX@ ifeq ($(STATIC),yes) CXX += -static-libgcc -L. endif # misc PACKAGE := @APPNAME@ BASEVERSION := @APPVERSION@ ifeq (@APPSTABLE@,yes) RELEASEVERSION := @APPRELEASE@ else RELEASEVERSION := svn`which svnversion > /dev/null && svnversion` endif VERSION := $(BASEVERSION)-$(RELEASEVERSION) # for CFLAGS #WARN_FLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith WARN_FLAGS := -w LFS_FLAGS := -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 LIB_FLAGS := -I. -I$(capture_dir) -I$(capture_dir)/libng -I$(capture_dir)/structs LIB_FLAGS += -I$(webcamsn_dir)/src -I$(tkcximage_dir)/src -I$(tkcximage_dir)/src/CxImage LIBDIR := @LIBDIR@ # various libraries THREAD_LIBS := @LIBPTHREAD@ # Directories in which the Tcl core can be found TCL_INC_SPEC := @TCL_INC_SPEC@ TCL_STUB_LIB_SPEC := @TCL_STUB_LIB_SPEC@ # Directories in which the Tk core can be found TK_INC_SPEC := @TK_INC_SPEC@ TK_STUB_LIB_SPEC := @TK_STUB_LIB_SPEC@ # C Flags for X X_CFLAGS := @X_CFLAGS@ # stuff configure has found FOUND_X11 := @FOUND_X11@ FOUND_OS := @FOUND_OS@ USE_MMX := @USE_MMX@ # build final cflags CFLAGS := @CFLAGS@ ifeq (@DEBUG@,no) CFLAGS += -O2 else CFLAGS += -g3 -DDEBUG endif CFLAGS += $(WARN_FLAGS) CFLAGS += $(LFS_FLAGS) CFLAGS += ${TCL_INC_SPEC} CFLAGS += ${TK_INC_SPEC} CFLAGS += ${X_CFLAGS} CFLAGS += $(LIB_FLAGS) CFLAGS += -DPACKAGE='"$(PACKAGE)"' CFLAGS += -DVERSION='"$(VERSION)"' CFLAGS += -DLIBDIR='"$(LIBDIR)"' CXXFLAGS := $(CFLAGS) # for gcc3 #CFLAGS += -std-gnu99 # shared objects need -fPIC CFLAGS += -fPIC CXXFLAGS += -fPIC # libraries LDLIBS := @LDLIBS@ -lpng -lz -lm -ljpeg LDFLAGS := @LDFLAGS@ ifeq (@DEBUG@,no) ifneq (@FOUND_OS@,mac) LDFLAGS += -s endif endif X_LIBS := @X_LIBS@ CXX_LIB := @CXX_LIB@ LDFLAGS += ${TCL_STUB_LIB_SPEC} LDFLAGS += ${TK_STUB_LIB_SPEC} ifeq ($(FOUND_OS),linux) FILES_TO_INSTALL += utils/webcamsn/webcamsn.so utils/webcamsn/pkgIndex.tcl utils/webcamsn/webcamsn.tcl utils/TkCximage/TkCximage.so utils/TkCximage/pkgIndex.tcl utils/linux/capture/capture.so utils/linux/capture/pkgIndex.tcl utils/linux/capture/test.tcl utils/linux/linflash/flash.so utils/linux/linflash/pkgIndex.tcl utils/linux/traydock/libtray.so utils/linux/traydock/pkgIndex.tcl utils/linux/capture/libng/plugins/drv0-v4l2.so utils/linux/capture/libng/plugins/drv1-v4l.so FILES_TO_EXCLUDE += AppMain.tcl utils/linux/capture/test.tcl endif ifeq ($(FOUND_OS),bsd) FILES_TO_INSTALL += utils/TkCximage/TkCximage.so utils/TkCximage/pkgIndex.tcl utils/linux/traydock/libtray.so utils/linux/traydock/pkgIndex.tcl utils/webcamsn/pkgIndex.tcl utils/webcamsn/webcamsn.so FILES_TO_EXCLUDE += AppMain.tcl utils/linux/capture/test.tcl endif CONFIGURE_ARGS := @CONFIGURE_ARGS@ ######################################################### # targets build: all Makefile: $(srcdir)/Makefile.in $(srcdir)/configure $(srcdir)/configure $(CONFIGURE_ARGS) $(srcdir)/configure: $(srcdir)/configure.ac (cd $(srcdir); autoconf) clean:: find . -name \*~ -print | xargs rm -f find . -name \*.o -print | xargs rm -f find . -name \*.a -print | xargs rm -f find . -name \*.dep -print | xargs rm -f distclean:: clean -rm -f Makefile Make.config -rm -f config.cache config.h config.log config.status install:: $(FILES_TO_INSTALL) rm -Rf $(dstdir)/$(PACKAGE) mkdir -p $(dstdir)/$(PACKAGE) mkdir -p $(slnkdir) @for p in $?; do \ mkdir -p $(dstdir)/$(PACKAGE)/`dirname $$p`; \ cp -Rf $(srcdir)/$$p $(dstdir)/$(PACKAGE)/`dirname $$p`; \ done find $(dstdir)/$(PACKAGE) -name CVS -print | xargs rm -Rf @for p in $(FILES_TO_EXCLUDE); do \ rm -Rf $(dstdir)/$(PACKAGE)/$$p; \ done ln -sf $(dstdir)/$(PACKAGE)/amsn $(slnkdir)/amsn ln -sf $(dstdir)/$(PACKAGE)/amsn-remote $(slnkdir)/amsn-remote ln -sf $(dstdir)/$(PACKAGE)/amsn-remote-CLI $(slnkdir)/amsn-remote-CLI chmod -R +rx $(dstdir)/$(PACKAGE) mkdir -p $(dstdir)/icons/hicolor cp -R $(srcdir)/icons/* $(dstdir)/icons/hicolor mkdir -p $(dstdir)/applications cp $(srcdir)/amsn.desktop $(dstdir)/applications rpm-install:: $(FILES_TO_INSTALL) rm -Rf $(INSTALL_PREFIX)/$(dstdir)/$(PACKAGE) mkdir --parents $(INSTALL_PREFIX)/$(dstdir)/$(PACKAGE) @for p in $?; do \ cp -Rf --parents $(srcdir)/$$p $(INSTALL_PREFIX)/$(dstdir)/$(PACKAGE); \ done find $(INSTALL_PREFIX)/$(dstdir)/$(PACKAGE) -name '.svn' -print | xargs rm -Rf @for p in $(FILES_TO_EXCLUDE); do \ rm -Rf $(INSTALL_PREFIX)/$(dstdir)/$(PACKAGE)/$$p; \ done mkdir --parents $(INSTALL_PREFIX)/$(slnkdir) ln -sf $(dstdir)/$(PACKAGE)/amsn $(INSTALL_PREFIX)/$(slnkdir)/amsn ln -sf $(dstdir)/$(PACKAGE)/amsn-remote $(INSTALL_PREFIX)/$(slnkdir)/amsn-remote ln -sf $(dstdir)/$(PACKAGE)/amsn-remote-CLI $(INSTALL_PREFIX)/$(slnkdir)/amsn-remote-CLI rpm: all mkdir -p ./distrib rm -f THIS.TK.SPEC echo "%define _builddir `pwd`" > THIS.AMSN.SPEC echo "%define _rpmdir /tmp/RPMS" >> THIS.AMSN.SPEC echo "%define _prefix $(prefix)" >> THIS.AMSN.SPEC echo "%define _tmppath /tmp" >> THIS.AMSN.SPEC echo "%define _datadir $(dstdir)/$(PACKAGE)" >> THIS.AMSN.SPEC echo "%define _bindir $(slnkdir)" >> THIS.AMSN.SPEC echo "%define _doc_files $(doc_files)" >> THIS.AMSN.SPEC echo "%define _platform `uname -m`" >> THIS.AMSN.SPEC echo "%define _version $(BASEVERSION)" >> THIS.AMSN.SPEC echo "%define __release $(RELEASEVERSION)" >> THIS.AMSN.SPEC cat amsn.spec >> THIS.AMSN.SPEC mkdir -p /tmp/RPMS rpmbuild -bb THIS.AMSN.SPEC rm -rf ./distrib/RPMS mv /tmp/RPMS ./distrib rm -rf /tmp/RPMS THIS.AMSN.SPEC deb: all mkdir -p ./distrib/DEB sed "s/#VERSION#/${VERSION}/" debian/changelog.in > debian/changelog fakeroot debian/rules clean fakeroot debian/rules binary VERSION=${VERSION} rm -f debian/changelog rm -rf debian/amsn libstdc++.a : ln -s `g++ -print-file-name=libstdc++.a` ######################################################### # include stuff # subdirs include $(tkcximage_dir)/Rules.mk include $(tkcximage_dir)/src/Rules.mk include $(tkcximage_dir)/src/CxImage/Rules.mk include $(tkcximage_dir)/src/Rules.mk include $(webcamsn_dir)/Rules.mk include $(webcamsn_dir)/src/Rules.mk ifeq ($(FOUND_OS),linux) include $(capture_dir)/Rules.mk include $(capture_dir)/libng/Rules.mk include $(capture_dir)/libng/plugins/Rules.mk ifeq ($(FOUND_X11),yes) ADDLIBS += ${X_LIBS} include $(tray_dir)/Rules.mk include $(linflash_dir)/Rules.mk endif endif ifeq ($(FOUND_OS),bsd) ifeq ($(FOUND_X11),yes) ADDLIBS += ${X_LIBS} include $(tray_dir)/Rules.mk endif endif ######################################################### # some rules ... include $(srcdir)/Compile.mk