Hugo Balder - 2003-06-13

Hi, I just compiled the Linux-Version on Mac OS X (10.2). This is the Makefile, use it instead of the toolkit/src/bld/linux/Makefile and follow the given documentation. Hope this helps.
WARNING: It just comiled, I didn't test it entirely!!

I just changed the line with the linker-command:

ld -shared $(SML_OBJS) -o $(SML_NAME)

to

libtool -dynamic -lSystem $(SML_OBJS) -o $(SML_NAME)

---- Makefile: ----
#

# Copyright Notice

# Copyright (c) Ericsson, IBM, Lotus, Matsushita Communication

# Industrial Co., Ltd., Motorola, Nokia, Openwave Systems, Inc.,

# Palm, Inc., Psion, Starfish Software, Symbian, Ltd. (2001).

# All Rights Reserved.

# Implementation of all or part of any Specification may require

# licenses under third party intellectual property rights,

# including without limitation, patent rights (such a third party

# may or may not be a Supporter). The Sponsors of the Specification

# are not responsible and shall not be held responsible in any

# manner for identifying or failing to identify any or all such

# third party intellectual property rights.

#

# THIS DOCUMENT AND THE INFORMATION CONTAINED HEREIN ARE PROVIDED

# ON AN "AS IS" BASIS WITHOUT WARRANTY OF ANY KIND AND ERICSSON, IBM,

# LOTUS, MATSUSHITA COMMUNICATION INDUSTRIAL CO. LTD, MOTOROLA,

# NOKIA, PALM INC., PSION, STARFISH SOFTWARE AND ALL OTHER SYNCML

# SPONSORS DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING

# BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION

# HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF

# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT

# SHALL ERICSSON, IBM, LOTUS, MATSUSHITA COMMUNICATION INDUSTRIAL CO.,

# LTD, MOTOROLA, NOKIA, PALM INC., PSION, STARFISH SOFTWARE OR ANY

# OTHER SYNCML SPONSOR BE LIABLE TO ANY PARTY FOR ANY LOSS OF

# PROFITS, LOSS OF BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF

# BUSINESS, OR FOR DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL,

# PUNITIVE OR CONSEQUENTIAL DAMAGES OF ANY KIND IN CONNECTION WITH

# THIS DOCUMENT OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED

# OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.

#

# The above notice and this paragraph must be included on all copies

# of this document that are made.

#

#

# delete files

RM    =     rm -f

# compiler to use

CC       =    gcc

# some flags

CFLAGS     =

#

# Various targets to build.

#

BIN     =    ../../../bin/linux

SML_NAME =     $(BIN)/libsml.so

#

# where to find the includes and objects

#

SRC    =    ../../sml

INCS     =    -I$(SRC)/inc \

        -I$(SRC)/inc/win \

        -I$(SRC)/lib/inc \

        -I$(SRC)/mgr/inc \

        -I$(SRC)/wsm/inc \

        -I$(SRC)/xlt/all \

        -I$(SRC)/xlt/inc

VPATH    =     ../.. \

        $(SRC)/inc \

        $(SRC)/inc/win \

        $(SRC)/lib/inc \

        $(SRC)/lib/all \

        $(SRC)/mgr/inc \

        $(SRC)/mgr/all \

        $(SRC)/mgr/win \

        $(SRC)/wsm/inc \

        $(SRC)/wsm/all \

        $(SRC)/wsm/win \

        $(SRC)/xlt/inc \

        $(SRC)/xlt/all

#

# all objects for the shared object

#

SML_OBJS =    libstr.o \

        libutil.o \

        libmem.o \

        mgr.o \

        mgrcmdbuilder.o \

        mgrcmddispatcher.o \

        mgrinstancelist.o \

        mgrinstancemgr.o \

        mgrutil.o \

        wsm.o \

        wsm_sm.o \

        xlttags.o \

        xltdec.o \

        xltdecwbxml.o \

        xltdecxml.o \

        xltutilstack.o \

        xltenc.o \

        xltencwbxml.o \

        xltencxml.o \

        xltenccom.o \

        xltmetinf.o \

        xltdevinf.o

#

# create shared object

#

$(SML_NAME) : $(SML_OBJS)

    @mkdir -p $(BIN)

    libtool -dynamic -lSystem $(SML_OBJS) -o $(SML_NAME)

    @echo SML build done.

#

# dependencies

#

libstr.o        : smldef.h define.h libstr.h libmem.h

libmem.o        : smldef.h

libutil.o        : smldef.h define.h smlerr.h sml.h libmem.h libutil.h \

              mgr.h smldtd.h wsm.h wsm_sm.h

mgr.o            : smldef.h define.h sml.h smldtd.h smlerr.h libmem.h \

              wsm.h wsm_sm.h mgr.h

mgrcmdbuilder.o        : smldef.h define.h xltenc.h smlerr.h xltenccom.h \

              smldtd.h mgr.h sml.h wsm.h wsm_sm.h

mgrcmddispatcher.o    : smldef.h define.h smldtd.h smlerr.h libmem.h sml.h \

              libutil.h xltdec.h mgr.h wsm.h wsm_sm.h

mgrinstancelist.o    : smlerr.h libmem.h smldef.h define.h mgr.h sml.h \

              smldtd.h wsm.h wsm_sm.h

mgrinstancemgr.o    : smldef.h define.h sml.h smldtd.h smlerr.h libmem.h \

              wsm.h wsm_sm.h mgr.h

mgrutil.o        : smldef.h sml.h smldtd.h smlerr.h define.h\

              smlmetinfdtd.h

wsm.o            : wsm.h smlerr.h define.h libutil.h wsm_sm.h sml.h \

              smldtd.h smldef.h libmem.h libstr.h mgr.h

wsm_sm.o        : wsm_sm.h smldef.h define.h libutil.h smlerr.h \

              mgr.h sml.h smldtd.h wsm.h

xlttags.o        : xlttags.h smlerr.h libmem.h libutil.h libstr.h

xltdec.o        : xlttags.h define.h smldtd.h smlerr.h xltdec.h \

              xltdeccom.h xltutilstack.h smldef.h libutil.h \

              libmem.h libstr.h xlttagtbl.h xltmetinf.h

xltdecwbxml.o        : xlttags.h define.h smldtd.h smlerr.h xltdeccom.h \

              xltutilstack.h smldef.h libutil.h libmem.h libstr.h

xltdecxml.o        : xltdeccom.h smldef.h define.h smldtd.h xlttags.h \

              libutil.h libmem.h libstr.h smlerr.h

xltutilstack.o        : xltdeccom.h smldef.h define.h smldtd.h xlttags.h \

              libutil.h xltutilstack.h smlerr.h libmem.h

xltenc.o        : xltenc.h smlerr.h xltenccom.h smldef.h define.h \

              smldtd.h xltencwbxml.h xlttags.h xltencxml.h \

              libstr.h libmem.h libutil.h smlmetinfdtd.h xltmetinf.h\

              xlttagtbl.h

xltencwbxml.o        : xltencwbxml.h smlerr.h smldef.h define.h smldtd.h \

              xlttags.h xltenccom.h libmem.h libstr.h libutil.h

xltencxml.o        : xltencxml.h smlerr.h xlttags.h smldtd.h smldef.h \

              define.h xltenccom.h libstr.h libmem.h libutil.h

xltenccom.o        : xltenccom.h smldef.h define.h smlerr.h libmem.h \

              libutil.h

xltmetinf.o        : smldef.h smldtd.h smlerr.h smlmetinfdtd.h define.h\

              libmem.h libstr.h libutil.h xltdeccom.h xltmetinf.h\

              xlttags.h xlttagtbl.h xltdec.h xltenc.h

xltdevinf.o        : smldevinfdtd.h xlttags.h xlttagtbl.h xltenc.h \

              xltenc.h xltencwbxml.h libstr.h smlerr.h smldtd.h\

              libmem.h libutil.h

##

# default rule for compiling files

#

.c.o:

    $(CC) -c $(CFLAGS) $(INCS) -o $@ $<

.PHONY: all sml xpt clean

#

# targets

#

all     : sml xpt

sml     : $(SML_NAME)

xpt     : sml

    @$(MAKE) -f Makefile.xpt --no-print-directory

clean    : .

    @$(RM) *.o

    @$(MAKE) -f Makefile.xpt --no-print-directory clean

-----