diff options
Diffstat (limited to 'sal/util/makefile.mk')
-rw-r--r-- | sal/util/makefile.mk | 241 |
1 files changed, 241 insertions, 0 deletions
diff --git a/sal/util/makefile.mk b/sal/util/makefile.mk new file mode 100644 index 000000000000..82ebbc811c8d --- /dev/null +++ b/sal/util/makefile.mk @@ -0,0 +1,241 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org 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 Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=.. + +PRJNAME=sal +TARGET=sal + +NO_BSYMBOLIC=TRUE +NO_DEFAULT_STL=TRUE + +USE_LDUMP2=TRUE +USE_DEFFILE=TRUE + +.IF "$(GUI)"=="UNX" +TARGETTYPE=CUI +.ENDIF # UNX + +UNIXVERSIONNAMES=UDK + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +CFLAGS+= $(LFS_CFLAGS) +CXXFLAGS+= $(LFS_CFLAGS) + +.IF "$(depend)" == "" + +# --- Files -------------------------------------------------------- + +# disable check for PIC code as it would complain about +# hand coded assembler +CHECKFORPIC= + +.IF "$(header)" == "" + +LIB1TARGET=$(SLB)$/$(TARGET).lib +LIB1FILES= \ + $(SLB)$/oslall.lib \ + $(SLB)$/cpposl.lib \ + $(SLB)$/cpprtl.lib \ + $(SLB)$/textenc.lib + +#.IF "$(GUI)"=="UNX" +#LIB1FILES+=$(SLB)$/systoolsunx.lib +#.ENDIF # UNX + + +LIB3TARGET=$(LB)$/a$(TARGET).lib +LIB3ARCHIV=$(LB)$/lib$(TARGET)$(DLLPOSTFIX).a +LIB3FILES= \ + $(LB)$/oslall.lib \ + $(LB)$/cpposl.lib \ + $(LB)$/cpprtl.lib \ + $(LB)$/textenc.lib + +#.IF "$(GUI)"=="UNX" +#LIB3FILES+=$(LB)$/systoolsunx.lib +#.ENDIF # UNX + +.IF "$(GUI)" == "WNT" || "$(GUI)"=="OS2" +SHL1TARGET= $(TARGET) +.ELSE +SHL1TARGET= uno_$(TARGET) +.ENDIF +SHL1IMPLIB= i$(TARGET) +SHL1VERSIONMAP= $(TARGET).map +SHL1RPATH=URELIB + +.IF "$(GUI)"=="WNT" + +.IF "$(COM)"=="GCC" +UWINAPILIB= -luwinapi +.ELSE +UWINAPILIB= $(LB)$/uwinapi.lib +.ENDIF + +SHL1STDLIBS= \ + $(UWINAPILIB)\ + $(ADVAPI32LIB)\ + $(WSOCK32LIB)\ + $(MPRLIB)\ + $(SHELL32LIB)\ + $(COMDLG32LIB)\ + $(USER32LIB)\ + $(OLE32LIB) +.IF "$(COM)"=="GCC" +MINGWSSTDOBJ= +MINGWSSTDENDOBJ= +.ENDIF +.ENDIF # WNT + +.IF "$(GUI)"=="UNX" +.IF "$(OS)"=="SOLARIS" +# libposix4.so (SunOS 5.6) <-> librt.so (SunOS >= 5.7) +SHL1STDLIBS= -Bdynamic -ldl -lpthread -lposix4 -lsocket -lnsl +.IF "$(COM)" == "C50" +SHL1STDLIBS+= -z allextract -staticlib=Crun -z defaultextract +.ENDIF # C50 +.ENDIF # SOLARIS +.ENDIF # UNX + +.IF "$(GUI)"=="OS2" +SHL1STDLIBS=pthread.lib +.ENDIF # OS2 + +# If we compile sal with STLport checking iterators +# we need to link against the STLport +.IF "$(USE_STLP_DEBUG)" != "" +SHL1STDLIBS+=$(LIBSTLPORT) +.ENDIF + +#The irony that using the system STL instead of +#stlport requires that we link libsal with the +#LIBSTLPORT alias which is not required when using +#stlport is not lost on me +.IF "$(USE_SYSTEM_STL)"=="YES" +SHL1STDLIBS+=$(LIBSTLPORT) +.ENDIF + +.IF "$(OS)"=="MACOSX" +SHL1STDLIBS+=-framework CoreFoundation -framework Carbon +.ENDIF + +.IF "$(OS)" == "LINUX" +.IF "$(PAM_LINK)" == "YES" +SHL1STDLIBS+=-lpam +.ENDIF +.IF "$(CRYPT_LINK)" == "YES" +SHL1STDLIBS+=-lcrypt +.ENDIF +.ENDIF + +# #i105898# required for LD_PRELOAD libsalalloc_malloc.so +# if sal is linked with -Bsymbolic-functions +.IF "$(HAVE_LD_BSYMBOLIC_FUNCTIONS)" == "TRUE" +SHL1LINKFLAGS+=-Wl,--dynamic-list=salalloc.list +.ENDIF # .IF "$(HAVE_LD_BSYMBOLIC_FUNCTIONS)" == "TRUE" + +SHL1LIBS+=$(SLB)$/$(TARGET).lib + +.IF "$(linkinc)" != "" +SHL11FILE=$(MISC)$/sal.slo +.ELSE +.IF "$(GUI)"=="UNX" +SHL1OBJS= +.ELSE +.IF "$(GUI)$(COM)"!="WNTGCC" +SHL1OBJS= \ + $(SLO)$/dllentry.obj +.ENDIF # WNTGCC +.ENDIF # UNX +.ENDIF # lincinc + +SHL1DEPN= +SHL1DEF= $(MISC)$/$(SHL1TARGET).def + +DEF1NAME= $(SHL1TARGET) + +# +# This part builds a tiny extra lib, +# containing an alloc.c which uses system +# heap instead of our own mem management. +# This is e.g. useful for proper valgrinding +# the office. +# +.IF "$(OS)"=="LINUX" + +TARGET2 = salalloc_malloc +SHL2TARGET= $(TARGET2) +SHL2IMPLIB= i$(TARGET2) +SHL2VERSIONMAP= salalloc.map + +SHL2LIBS+=$(SLB)$/SYSALLOC_cpprtl.lib + +.ENDIF # .IF "$(OS)"=="LINUX" + +# --- Coverage ----------------------------------------------------- +# LLA: 20040304 The follows lines are an additional which is only need if we run +# coverage tests. For normal test runs this feature is not used. +# For more information about coverage tests see: +# http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_8.html +# +# Why this additional? +# Anybody has decide to link sal with g++ instead of gcc. +# +.IF "$(TESTCOVERAGE)"!="" +.IF "$(GUI)"=="UNX" +.IF "$(COM)"=="GCC" +.IF "$(OS)"=="LINUX" +SHL1STDLIBS+=-lgcc +.ENDIF +.ENDIF +.ENDIF +.ENDIF + +# --- Targets ------------------------------------------------------ + +.ENDIF # $(header) != "" +.ENDIF # $(depend) != "" + +.INCLUDE : target.mk + +.IF "$(SHL1TARGETN)" != "" +$(SHL1TARGETN) : $(OUT)$/inc$/udkversion.h +.ENDIF # "$(SHL1TARGETN)" != "" + +$(OUT)$/inc$/udkversion.h: + echo '#ifndef _SAL_UDKVERSION_H_' > $@ + echo '#define _SAL_UDKVERSION_H_' >> $@ + echo '' >> $@ + echo '#define SAL_UDK_MAJOR "$(UDK_MAJOR)"' >> $@ + echo '#define SAL_UDK_MINOR "$(UDK_MINOR)"' >> $@ + echo '#define SAL_UDK_MICRO "$(UDK_MICRO)"' >> $@ + echo '' >> $@ + echo '#endif' >> $@ |