#! 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=		Win32Main.cpp
RCSRCS=			Win32Main.rc


PROGRAM=		$(BINDIR)/AbiWord.exe
#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
LoadOrder=		AbiGr AbiFmt AbiPTbl AbiImpExp AbiXAp AbiWPAp \
			AbiEv AbiUtil AbiImpExp AbiWordVer AbiSpell Abi_libpng Abi_zlib Abi_libiconv Abi_libwv
#LoadOrder=		AbiWordVer AbiUtil AbiImpExp AbiPTbl AbiFmt AbiEv \
#			AbiXAp AbiGr AbiWPAp AbiSpell Abi_libpng Abi_zlib Abi_libiconv Abi_libwv


# fribidi library
ifeq ($(ABI_OPT_BIDI_ENABLED),1)
LoadOrder += Abi_fribidi
endif


#ifdef ABI_REQUIRE_PEER_ICONV
#LoadOrder+= Abi_libiconv
#endif

ABI_APPLIBS=		$(LoadOrder) $(LoadOrder) $(LoadOrder)
ABI_APPLIBDEP=		$(LoadOrder)
#ABI_APPLIBS=		AbiWordVer AbiUtil AbiImpExp AbiPTbl AbiFmt AbiEv \
#			AbiXAp AbiGr AbiWPAp AbiSpell Abi_libpng Abi_zlib Abi_libiconv Abi_libwv
#ifeq ($(ABI_OPT_BIDI_ENABLED),1)
#ABI_APPLIBS+= Abi_fribidi
#endif

#ABI_APPLIBDEP=		$(ABI_APPLIBS)


## 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
#
ABI_LIBS=		kernel32 user32 gdi32 winspool comdlg32 advapi32 \
			shell32 uuid comctl32
#ABI_LIBS=		kernel32 user32 gdi32 winspool comdlg32 advapi32 \
#			shell32 uuid comctl32 msvcprt


# 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

$(PROGRAM): $(OBJS) $(EXTRA_LIBDEP)
	@$(MAKE_OBJDIR)
	@echo Linking static $(PROGRAM)
	@$(CCC) -o $@ $(CFLAGS) $(OBJS) $(STATIC_LDFLAGS) -L/usr/local/lib $(LDFLAGS) $(EXTRA_LIBS) $(OS_LIBS) $(XLDFLAGS)


build:: $(TARGETS)
