#! 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= QNXMain.cpp INCLUDES= 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. LoadOrder= AbiGr AbiFmt AbiPTbl AbiImpExp AbiXAp AbiWPAp \ AbiEv AbiUtil AbiWordVer AbiSpell Abi_expat Abi_libwv \ Abi_libpng Abi_zlib Abi_libiconv ABI_APPLIBS= $(LoadOrder) $(LoadOrder) $(LoadOrder) ABI_APPLIBDEP= $(LoadOrder) # libdl flags go into the process later # We needed libstdc++ at one point, not any more apparently ABI_LIBS= ph phrender m STUPID_STATIC_LIBS= -Bstatic -lph # 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 = # We need to add pf.o as a temporary fix for the object OBJS += pf.o # we override the $(PROGRAM) rule. $(PROGRAM): $(OBJS) $(EXTRA_LIBDEP) ifeq ($(QNX_CAN_BUILD_DYNAMIC),1) @$(MAKE_OBJDIR) @echo Linking dynamic $(PROGRAM) @$(CCC) -o $@ $(CFLAGS) $(OBJS) $(DYNAMIC_LDFLAGS) -L/lib -L/usr/local/lib $(LDFLAGS) $(EXTRA_LIBS) $(XLDFLAGS) $(STUPID_STATIC_LIBS) @bindres -q $@ Icon.wgti else @echo "Not linking dynamic $(PROGRAM)" @echo " QNX_CAN_BUILD_DYNAMIC not defined for this platform." endif $(PROGRAM_S): $(OBJS) $(EXTRA_LIBDEP) ifeq ($(QNX_CAN_BUILD_STATIC),1) $(MAKE_OBJDIR) echo Linking static $(PROGRAM_S) $(CCC) -o $@ $(CFLAGS) $(OBJS) $(STATIC_LDFLAGS) -L/lib -L/usr/local/lib $(LDFLAGS) $(EXTRA_LIBS) $(XLDFLAGS) $(STUPID_STATIC_LIBS) @bindres -q $@ Icon.wgti else @echo "Not linking static $(PROGRAM)" @echo " QNX_CAN_BUILD_STATIC not defined for this platform." endif build:: $(TARGETS)