srcdir = @srcdir@ top_srcdir = @top_srcdir@ include $(srcdir)/langs.mak VERSION=@VERSION@ SVN_VERSION=$(shell $(top_srcdir)/../scripts/get_svn_version.sh $(top_srcdir)) BUILD_DATE=$(shell date '+%Y-%m-%d %H:%M:%S%z') # Where does the installation go ? PREFIX=@prefix@ DESTDIR=@DESTDIR@ LIBSUBDIR=@LIBSUBDIR@ BINDIR=$(DESTDIR)$(PREFIX)/bin LIBDIR=$(DESTDIR)$(PREFIX)/$(LIBSUBDIR) LOCALEDIR=$(DESTDIR)$(PREFIX)/share/locale # filename conventions EXE=@EXEEXT@ OBJ=@OBJEXT@ # compilers used. LIBDYNPFX=@LIBDYNPFX@ LIBDYN=@LIBDYN@ CC = @CC@ CXX = @CXX@ LD = @CC@ STRIP = @STRIP@ # Win32 resource compiler RC=@RC@ RCFLAGS=@RCFLAGS@ PROGRAM=fancylogview$(EXE) # # MO-files # MOFILES=$(addprefix fancylogview_,$(addsuffix .mo,$(POLANGS))) fancylogview_%.mo: $(srcdir)/po/fancylogview_%.po msgfmt -o $@ $< all: Makefile build-dep ifeq ($(RC),) RESOBJS= else RESOBJS=fancylogview_res.$(OBJ) comma:= , COMMA_VERSION=$(subst .,$(comma),$(VERSION))$(comma)$(SVN_VERSION) %_res.$(OBJ): $(srcdir)/%.rc sed -e 's/__COMMA_VERSION__/$(COMMA_VERSION)/g' -e 's/__VERSION__/$(VERSION)-$(SVN_VERSION)/g' -e 's%__srcdir__%$(srcdir)%g' < $< > $*_res.rc $(RC) $(RCFLAGS) $*_res.rc $*_res.$(OBJ) SETUP_EXE=fancylogview-$(VERSION)-$(SVN_VERSION)-setup.exe GNOME_PREFIX=$(shell pkg-config --variable=prefix gtk+-2.0) BUILD_DIR=$(shell pwd -W) TOP_DIR=$(shell cd $(top_srcdir)/..; pwd -W) $(SETUP_EXE): $(srcdir)/fancylogview.nsi $(PROGRAM) $(MOFILES) sed -e 's/__VERSION__/$(VERSION)/g' -e 's/__SVN_VERSION__/$(SVN_VERSION)/g' -e 's%__GNOME_PREFIX__%$(GNOME_PREFIX)%g' -e 's%__TOP_DIR__%$(TOP_DIR)%g' -e 's%__BUILD_DIR__%$(BUILD_DIR)%g' < $< > fancylogview-setup.nsi makensis fancylogview-setup.nsi setup: Makefile setup-dep setup-dep: make dep=yes $(SETUP_EXE) endif # add -I.. in order to find config.h CFLAGS = \ @CFLAGS@ @GTK_CFLAGS@ @DEFS@ -I$(srcdir) LDFLAGS = @GTK_LDFLAGS@ @LDFLAGS@ LIBS=@GTK_LIBS@ @LIBS@ %.depend: $(srcdir)/%.c $(CC) $(CFLAGS) -M $< -o $@ %.depend: $(srcdir)/%.cpp $(CXX) $(CXXFLAGS) -M $< -o $@ %.$(OBJ): $(srcdir)/%.c $(CC) $(CFLAGS) -c $< -o $@ %.$(OBJ): $(srcdir)/%.cpp $(CXX) $(CXXFLAGS) -c $< -o $@ foo: fancylogiewversion_rel.c: foo sed -e 's/__VERSION__/$(VERSION)/g' -e 's/__SVN_VERSION__/$(SVN_VERSION)/g' -e 's/__BUILD_DATE__/$(BUILD_DATE)/g' < $(srcdir)/fancylogviewversion.c > $@ VERSION_OBJECTS=fancylogiewversion_rel.$(OBJ) Makefile: $(srcdir)/Makefile.in echo "Updating out-of date Makefiles..." ./reconfigure.sh build-dep: make dep=yes build build: $(PROGRAM) $(MOFILES) clean:: rm -f *.depend *.$(OBJ) *.rc *~ *.bak .*~ .*.bak core *.mo $(PROGRAM) fancylogview*-setup.* distclean:: clean rm -f Makefile reconfigure.sh # # objects # FANCYLOGVIEW_OBJECTS = fancylogview.$(OBJ) \ fancylogviewi18n.$(OBJ) \ fancylogviewmainwindow.$(OBJ) \ fancylogviewer.$(OBJ) \ fancylogviewconf.$(OBJ) \ fancylogviewutil.$(OBJ) \ fancystringfinder.$(OBJ) \ tablabel.$(OBJ) $(PROGRAM): $(FANCYLOGVIEW_OBJECTS) $(RESOBJS) $(VERSION_OBJECTS) $(LD) $(FANCYLOGVIEW_OBJECTS) $(RESOBJS) $(VERSION_OBJECTS) $(LDFLAGS) $(LIBS) -o $@ install: all if [ ! -d $(BINDIR) ] ; then mkdir $(BINDIR); fi for lang in $(POLANGS); do mkdir -p $(LOCALEDIR)/$$lang/LC_MESSAGES; cp fancylogview_$$lang.mo $(LOCALEDIR)/$$lang/LC_MESSAGES/fancylogview.mo; chmod 644 $(LOCALEDIR)/$$lang/LC_MESSAGES/fancylogview.mo; done cp $(PROGRAM) $(BINDIR) $(STRIP) $(BINDIR)/$(PROGRAM) chmod 755 $(BINDIR)/$(PROGRAM) # # dependencies # ifeq ($(dep),yes) include $(addsuffix .depend, $(basename $(FANCYLOGVIEW_OBJECTS))) endif