mirror of
https://github.com/Gnucash/gnucash.git
synced 2024-11-30 12:44:01 -06:00
392a3333c5
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2028 57a11ea4-9604-0410-9ed3-97b8803252fd
252 lines
8.4 KiB
Makefile
252 lines
8.4 KiB
Makefile
# Makefile -- makefile for gnucash
|
|
# @configure_input@
|
|
# Copyright (C) 1997 Robin Clark
|
|
# Copyright (C) 1998 Rob Browning <rlb@cs.utexas.edu>
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License as
|
|
# published by the Free Software Foundation; either version 2 of
|
|
# the License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
#
|
|
# Author: Robin Clark
|
|
# Internet: rclark@rush.aero.org
|
|
# Address: 609 8th Street
|
|
# Huntington Beach, CA 92648-4632
|
|
|
|
include @top_srcdir@/Makefile.init
|
|
|
|
######################################################################
|
|
# Description of targets:
|
|
#
|
|
# default -- make the application
|
|
# depend -- generate the dependencies
|
|
# clean -- remove *.a, *.o, *.bak, and *~
|
|
# distclean -- get rid of config files too...
|
|
# install -- installs everything
|
|
|
|
default:
|
|
@echo " "
|
|
@echo "Please choose one of the following targets:"
|
|
@echo "motif dynamically linked motif version"
|
|
@echo "motif-static statically linked motif version"
|
|
@echo "gnome gnome/gtk version"
|
|
@echo "gnome-static gnome/gtk statically linked version"
|
|
@echo "qt kde/qt version"
|
|
@echo "qt-static kde/qt statically linked version"
|
|
@echo " "
|
|
|
|
# This inclusion must come after the first target, and after the
|
|
# definitions of *_SRCS, etc., but before the usage of *_OBJS.
|
|
include @top_srcdir@/Makefile.common
|
|
|
|
# Aliases
|
|
motif-static: motif.static
|
|
gnome-static: gnome.static
|
|
qt-static: qt.static
|
|
|
|
build-flavor: config.status
|
|
@cd lib; $(MAKE) ${FLAVOR}
|
|
@cd src; $(MAKE) ${FLAVOR}
|
|
ln -sf gnucash.${FLAVOR} gnucash.bin
|
|
(cd share && rm -f scm && ln -sf ../src/scm scm)
|
|
|
|
motif:
|
|
${MAKE} FLAVOR=motif build-flavor
|
|
|
|
motif.static:
|
|
${MAKE} FLAVOR=motif.static build-flavor
|
|
|
|
gnome:
|
|
${MAKE} @GNOME_TARGET@
|
|
|
|
gnome.static:
|
|
${MAKE} @GNOME_STATIC_TARGET@
|
|
|
|
gnome.real:
|
|
${MAKE} FLAVOR=gnome build-flavor
|
|
|
|
gnome.static.real:
|
|
${MAKE} FLAVOR=gnome.static build-flavor
|
|
|
|
#GNOME_TARGET if gnome build disabled due to missing libraries
|
|
|
|
gnome.disable:
|
|
echo "Gnome build disabled - see configure.log for details"
|
|
false
|
|
|
|
qt:
|
|
${MAKE} @QT_TARGET@
|
|
|
|
qt.static:
|
|
${MAKE} @QT_STATIC_TARGET@
|
|
|
|
qt.real:
|
|
${MAKE} FLAVOR=qt build-flavor
|
|
|
|
qt.static.real:
|
|
${MAKE} FLAVOR=qt.static build-flavor
|
|
|
|
#QT_TARGET if qt build disabled by configure
|
|
|
|
qt.disable:
|
|
echo "Qt build disabled by configure. Try configure --enable-qt"
|
|
false
|
|
|
|
depend:
|
|
@echo make depend is now superfluous.
|
|
|
|
configure: configure.in
|
|
autoconf
|
|
|
|
config.status: configure
|
|
if [ -f ./config.status ]; then \
|
|
./config.status --recheck; \
|
|
else \
|
|
echo "======> You need to run configure!"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
CLEAN_SUBDIRS += lib src po
|
|
TRASH += TAGS *~ *.o *.bak
|
|
|
|
DIST_TRASH += Makefile *~ *.o *.bak share/scm gnucash.bin
|
|
DIST_TRASH += gnucash.motif gnucash.motif.static
|
|
DIST_TRASH += gnucash.gnome gnucash.gnome.static
|
|
DIST_TRASH += gnucash.qt gnucash.qt.static gnucash-shell
|
|
DIST_TRASH += config.cache config.log config.status config.h
|
|
|
|
tagsfiles := $(shell find . -name "*.[ch]" -print)
|
|
|
|
TAGS: ${tagsfiles}
|
|
etags ${tagsfiles}
|
|
|
|
install-bin: gnucash.${FLAVOR}
|
|
$(INSTALL) gnucash.${FLAVOR} ${GNC_BINDIR}/gnucash.${FLAVOR}
|
|
(cd ${GNC_BINDIR} && ln -sf gnucash.${FLAVOR} gnucash)
|
|
|
|
install:
|
|
$(INSTALL) -d ${GNC_BINDIR} ${GNC_LIBDIR} ${GNC_DOCDIR} ${GNC_SHAREDIR}
|
|
|
|
# Put these in the opposite order of precedence. Final bin/gnucash link will
|
|
# point to the last one that exists...
|
|
-[ -e gnucash.qt.static ] && \
|
|
${MAKE} FLAVOR=qt.static GNC_BINDIR=${GNC_BINDIR} install-bin
|
|
-[ -e gnucash.qt ] && ${MAKE} FLAVOR=qt GNC_BINDIR=${GNC_BINDIR} install-bin
|
|
-[ -e gnucash.motif.static ] && \
|
|
${MAKE} FLAVOR=motif.static GNC_BINDIR=${GNC_BINDIR} install-bin
|
|
-[ -e gnucash.motif ] && ${MAKE} FLAVOR=motif GNC_BINDIR=${GNC_BINDIR} install-bin
|
|
-[ -e gnucash.gnome.static ] && \
|
|
${MAKE} FLAVOR=gnome.static GNC_BINDIR=${GNC_BINDIR} install-bin
|
|
-[ -e gnucash.gnome ] && ${MAKE} FLAVOR=gnome GNC_BINDIR=${GNC_BINDIR} install-bin
|
|
|
|
# Make sure at least one succeeded
|
|
[ \
|
|
-e ${GNC_BINDIR}/gnucash.motif -o \
|
|
-e ${GNC_BINDIR}/gnucash.motif.static -o \
|
|
-e ${GNC_BINDIR}/gnucash.gnome -o \
|
|
-e ${GNC_BINDIR}/gnucash.gnome.static -o \
|
|
-e ${GNC_BINDIR}/gnucash.qt -o \
|
|
-e ${GNC_BINDIR}/gnucash.qt.static \
|
|
]
|
|
$(INSTALL) src/quotes/gnc-prices ${GNC_BINDIR}
|
|
|
|
$(INSTALL_DATA) src/swig/perl5/gnucash.pm ${GNC_LIBDIR}
|
|
$(INSTALL_DATA) src/swig/perl5/gnucash.so ${GNC_LIBDIR}
|
|
$(INSTALL_DATA) src/quotes/Quote.pm ${GNC_LIBDIR}
|
|
|
|
$(INSTALL_DATA) README* ${GNC_DOCDIR}
|
|
$(INSTALL_DATA) TODO ${GNC_DOCDIR}
|
|
$(INSTALL_DATA) CHANGES ${GNC_DOCDIR}
|
|
|
|
# @mkdir -p $(prefix)/toolbar
|
|
# $(INSTALL_DATA) toolbar/*.xpm $(prefix)/toolbar
|
|
|
|
# Share directory
|
|
# Try to do this in a platform independent way...
|
|
# Directories
|
|
for dir in `find share/scm/ -type d`; do \
|
|
dest=`echo $$dir | cut -c 11-` ;\
|
|
mkdir -p ${GNC_SHAREDIR}/scm/$$dest; \
|
|
done
|
|
|
|
# Files
|
|
for file in `find share/scm/ -name "*.scm"`; do \
|
|
dest=`echo $$file | cut -c 11-` ;\
|
|
${INSTALL_DATA} $$file ${GNC_SHAREDIR}/scm/$$dest; \
|
|
done
|
|
|
|
@mkdir -p ${GNC_SHAREDIR}/data
|
|
$(INSTALL_DATA) data/*.xac ${GNC_SHAREDIR}/data
|
|
|
|
@mkdir -p ${GNC_SHAREDIR}/Docs
|
|
@mkdir -p ${GNC_SHAREDIR}/Docs/En
|
|
@mkdir -p ${GNC_SHAREDIR}/Docs/Fr
|
|
$(INSTALL_DATA) Docs/*.html ${GNC_SHAREDIR}/Docs
|
|
$(INSTALL_DATA) Docs/En/*.html ${GNC_SHAREDIR}/Docs/En
|
|
$(INSTALL_DATA) Docs/Fr/*.html ${GNC_SHAREDIR}/Docs/Fr
|
|
# XXX hack alert -- should fix scheme paths to find language directories.
|
|
$(INSTALL_DATA) Docs/En/*.html ${GNC_SHAREDIR}/Docs
|
|
# $(INSTALL_DATA) Docs/*.phtml ${GNC_SHAREDIR}/Docs
|
|
$(INSTALL_DATA) Docs/*.gif ${GNC_SHAREDIR}/Docs
|
|
# $(INSTALL_DATA) Docs/*.jpg ${GNC_SHAREDIR}/Docs
|
|
$(INSTALL_DATA) Docs/*.xpm ${GNC_SHAREDIR}/Docs
|
|
$(INSTALL_DATA) Docs/*.css ${GNC_SHAREDIR}/Docs
|
|
@mkdir -p ${GNC_SHAREDIR}/Docs/images
|
|
# $(INSTALL_DATA) Docs/logos/*.* ${GNC_SHAREDIR}/Docs/images
|
|
@mkdir -p ${GNC_SHAREDIR}/Docs/logos
|
|
$(INSTALL_DATA) Docs/logos/*.* ${GNC_SHAREDIR}/Docs/logos
|
|
|
|
@mkdir -p ${GNC_SHAREDIR}/Reports
|
|
$(INSTALL_DATA) Reports/*.html ${GNC_SHAREDIR}/Reports
|
|
$(INSTALL_DATA) Reports/*.phtml ${GNC_SHAREDIR}/Reports
|
|
# $(INSTALL_DATA) Reports/*.gif ${GNC_SHAREDIR}/Reports
|
|
# $(INSTALL_DATA) Reports/*.jpg ${GNC_SHAREDIR}/Reports
|
|
# $(INSTALL_DATA) Reports/*.xpm ${GNC_SHAREDIR}/Reports
|
|
@mkdir -p ${GNC_SHAREDIR}/Reports/images
|
|
# $(INSTALL_DATA) Reports/logos/*.* ${GNC_SHAREDIR}/Reports/images
|
|
|
|
# ------------------------------------------------------------------
|
|
# hack alert -- the config dir stuff is messed up in configure.in as well
|
|
# as in the scheme search paths. For example, the configure script tries
|
|
# to put config files into /usr/etc/gnucash/config which is a butt-stupid
|
|
# place for this stuff ... For now, we will simply touch the one file that
|
|
# the scheme initialization is looking for, and punt on the rest ...
|
|
|
|
$(INSTALL_DATA) etc/conf* ${GNC_SHAREDIR}
|
|
|
|
$(MAKE) -C po install
|
|
|
|
-[ $(GNOME_CONFIG_BIN)x != x ] && \
|
|
$(INSTALL_DATA) gnucash.desktop \
|
|
$(shell $(GNOME_CONFIG_BIN) --datadir)/gnome/apps/Applications
|
|
|
|
# # Config directory
|
|
# @mkdir -p ${GNC_CONFIGDIR}
|
|
#
|
|
# # Directories
|
|
# for dir in `find etc/ -type d`; do \
|
|
# dest=`echo $$dir | cut -c 5-` ; \
|
|
# mkdir -p ${GNC_CONFIGDIR}/$$dest; \
|
|
# done
|
|
#
|
|
# # Files
|
|
# for file in `find etc/ -type f`; do \
|
|
# dest=`echo $$file | cut -c 5-` ; \
|
|
# ${INSTALL_DATA} $$file ${GNC_CONFIGDIR}/$$dest; \
|
|
# done
|
|
|
|
.PHONY: default install-bin install
|
|
.PHONY: motif motif-static motif.static
|
|
.PHONY: gnome gnome-static gnome.static
|
|
.PHONY: qt qt-static qt.static
|
|
.PHONY: depend dist clean distclean
|