#! gmake ## AbiWord ## Copyright (C) 1998 AbiSource, Inc. ## ## 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., 59 Temple Place - Suite 330, Boston, MA ## 02111-1307, USA. ABI_ROOT:=$(shell pwd)/../../../.. include $(ABI_ROOT)/src/config/abi_defs_wp.mk CPPSRCS= UnixMain.cpp INCLUDES= $(GTK_CFLAGS) PROGRAM= $(BINDIR)/AbiWord_d PROGRAM_S= $(BINDIR)/AbiWord_s # TODO the Linux linker is fussy about the ordering of libraries. # TODO in order to get all symbols to resolve, i had to list them # TODO several times. see if there is a better way of doing this. ifdef ABI_OPT_LIBXML2 LoadOrder= AbiGr AbiFmt AbiPTbl AbiImpExp AbiXAp AbiWPAp \ AbiEv AbiUtil AbiImpExp AbiWordVer AbiSpell Abi_libwv else LoadOrder= AbiGr AbiFmt AbiPTbl AbiImpExp AbiXAp AbiWPAp \ AbiEv AbiUtil AbiImpExp AbiWordVer AbiSpell Abi_libwv endif # fribidi library ifeq ($(ABI_OPT_BIDI_ENABLED),1) LoadOrder += Abi_fribidi endif ifeq ($(ABI_REQUIRE_PEER_ICONV),1) LoadOrder+= Abi_libiconv endif ABI_APPLIBS= $(LoadOrder) $(LoadOrder) $(LoadOrder) ABI_APPLIBDEP= $(LoadOrder) # libdl flags go into the process later #ifeq (0,1) ABI_LIBS= png z #else #ABI_LIBS= png z iconv #endif #ifdef __FreeBSD__ #ABI_LIBS+= iconv intl #endif # FreeBSD #ifdef __OpenBSD__ #ABI_LIBS+= iconv intl #endif # OpenBSD # include both dynamic and static binaries TARGETS= $(PROGRAM) $(PROGRAM_S) include $(ABI_ROOT)/src/config/abi_rules.mk ################################################################## ## everything below here must *FOLLOW* abi_rules ################################################################## # One build gets dynamic libdl flags, the other gets static flags DYNAMIC_LDFLAGS= $(addprefix -l,$(DL_LIBS)) STATIC_LDFLAGS = $(STATIC_FLAGS) ifdef __OpenBSD__ STATIC_LDFLAGS += -lintl endif # we override the $(PROGRAM) rule. $(PROGRAM): $(OBJS) $(EXTRA_LIBDEP) ifeq ($(UNIX_CAN_BUILD_DYNAMIC),1) @$(MAKE_OBJDIR) @echo Linking dynamic $(PROGRAM) @echo $(CCC) -o $@ $(CFLAGS) $(OBJS) $(DYNAMIC_LDFLAGS) $(LDFLAGS) $(EXTRA_LIBS) $(XLDFLAGS) @$(CCC) -o $@ $(CFLAGS) $(OBJS) $(DYNAMIC_LDFLAGS) $(LDFLAGS) $(EXTRA_LIBS) $(OS_LIBS) $(XLDFLAGS) else @echo "Not linking dynamic $(PROGRAM)" @echo " UNIX_CAN_BUILD_DYNAMIC not defined for this platform." endif $(PROGRAM_S): $(OBJS) $(EXTRA_LIBDEP) ifeq ($(UNIX_CAN_BUILD_STATIC),1) @$(MAKE_OBJDIR) @echo Linking static $(PROGRAM_S) @$(CCC) -o $@ $(CFLAGS) $(OBJS) $(STATIC_LDFLAGS) -L/usr/local/lib $(LDFLAGS) $(EXTRA_LIBS) $(OS_LIBS) $(XLDFLAGS) else @echo "Not linking static $(PROGRAM_S)" @echo " UNIX_CAN_BUILD_STATIC not defined for this platform." endif build:: $(TARGETS)