| #************************************************************** |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the 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=-lmmap -lpthread |
| .ENDIF # OS2 |
| |
| .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' >> $@ |