1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 # Copyright 2008 by Sun Microsystems, Inc.
7 # OpenOffice.org - a multi-platform office productivity suite
9 # $RCSfile: settings.mk,v $
13 # This file is part of OpenOffice.org.
15 # OpenOffice.org is free software: you can redistribute it and/or modify
16 # it under the terms of the GNU Lesser General Public License version 3
17 # only, as published by the Free Software Foundation.
19 # OpenOffice.org is distributed in the hope that it will be useful,
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 # GNU Lesser General Public License version 3 for more details
23 # (a copy is included in the LICENSE file that accompanied this code).
25 # You should have received a copy of the GNU Lesser General Public License
26 # version 3 along with OpenOffice.org. If not, see
27 # <http://www.openoffice.org/license.html>
28 # for a copy of the LGPLv3 License.
30 #*************************************************************************
31 MKFILENAME
:=SETTINGS.MK
33 # smaller/greater arithmetic's like ".IF 400<=200" are an OOo extention to
34 # the initial dmake 4.1PL0 (unfortunately called 4.10) version and are
35 # tested implicitly by the construction below.
36 .IF
$(MAKEVERSION
:s
/-cvs
//:s
/.
//)<=410
37 .ERROR
: ; @echo Forced error
: dmake version
4.11 or newer is needed
!
41 .INCLUDE .IGNORE
: ooo_vendor.mk
43 # --- common tool makros --------------------------------------
45 # moved temporary wrapper here as it is used in unitools.mk
46 .IF
"$(USE_SHELL)"!=""
47 use_shell
*=$(USE_SHELL
)
52 .ENDIF
# "$(USE_PCH)"!=""
54 .IF
"$(ENABLE_PCH)"!="" && "$(BUILD_SPECIAL)"!=""
55 .IF
"$(SOLARSRC)"=="$(SRC_ROOT)"
57 .ENDIF
# "$(SOLARSRC)"=="$(SRC_ROOT)"
58 .ENDIF
# "$(ENABLE_PCH)"!="" && "$(BUILD_SPECIAL)"!=""
60 .INCLUDE
: unitools.mk
62 #have SCRIPTEXT already defined in product.mk but available for all
63 .IF
"$(USE_SHELL)"=="4NT"
65 .ELSE
# "$(GUI)"=="WNT"
67 .ENDIF
# "$(GUI)"=="WNT"
71 .INCLUDE .IGNORE
: rtlbootstrap.mk
73 PLATFORMID
= $(RTL_OS
:l
)_
$(RTL_ARCH
:l
)
74 EXTNAME
*=$(EXTENSIONNAME
)_in
76 .IF
"$(UPDATER)"!="" ||
"$(CWS_WORK_STAMP)"!=""
78 .IF
"$(SOURCEVERSION)"!="$(WORK_STAMP)"
79 .ERROR
: ; @echo Forced error
: minor.mk in solenv
/inc does not match your version
!
83 # Create $(SOLARVERSION)$/$(INPATH)$/inc$(UPDMINOREXT)$/$(UPD)minor.mk if needed
84 %minor.mk
: $(SOLARENV
)$/inc
$/minor.mk
85 @@
-$(MKDIRHIER
) $(SOLARVERSION
)$/$(INPATH
)$/inc
$(UPDMINOREXT
)
86 @@
$(COPY
) $(SOLARENV
)$/inc
$/minor.mk
$(SOLARVERSION
)$/$(INPATH
)$/inc
$(UPDMINOREXT
)$/$(UPD
)minor.mk
87 @@
$(TOUCH
) $(SOLARVERSION
)$/$(INPATH
)$/inc
$(UPDMINOREXT
)$/minormkchanged.flg
88 .ENDIF
# "$(UPDATER)"!="" || "$(CWS_WORK_STAMP)"!=""
90 # Force creation of $(SOLARVERSION)$/$(INPATH)$/inc$(UPDMINOREXT)$/
91 # $(UPD)minor.mk could be empty as it's contents were already included from minor.mk
92 .INCLUDE
: $(SOLARVERSION
)$/$(INPATH
)$/inc
$(UPDMINOREXT
)$/$(UPD
)minor.mk
94 .IF
"$(BSCLIENT)"=="TRUE"
95 .IF
"$(UPDATER)"!="YES"
98 @echo
"#" ERROR
: setsolar option
-bsclient used but UPDATER
=YES not set
!
104 .INCLUDE
: udkversion.mk
106 # --- reset defined Environments --------------------
113 #interpreter location
114 .IF
"$(JAVAINTERPRETER)" == ""
115 .IF
"$(JDK)" == "J++"
116 JAVAINTERPRETER
=jview.exe
118 .IF
"$(JDK)" == "SCAFE"
119 .IF
"$(JDK_VERSION)" != ""
120 JAVAINTERPRETER
=$(DEVROOT
)$/vcafe11
$/java
$/bin
$/java.exe
122 JAVAINTERPRETER
=$(DEVROOT
)$/cafepro
$/java
$/bin
$/java.exe
125 .IF
"$(JAVACISGCJ)" == "yes"
135 .IF
"$(JAVACOMPILER)" == ""
136 .IF
"$(JDK)" == "J++"
139 .IF
"$(JDK)" == "SCAFE"
140 .IF
"$(JDK_VERSION)" != ""
141 JAVACOMPILER
=$(DEVROOT
)$/vcafe11
$/bin
$/sj.exe
143 JAVACOMPILER
=$(DEVROOT
)$/cafepro
$/bin
$/sj.exe
146 .IF
"$(JAVACISGCJ)" == "yes"
155 #if javadoc is not already set
157 JAVADOC
=javadoc
-J-Xmx120m
161 JAVAC
=$(JAVACOMPILER
)
162 JAVAI
:=$(JAVAINTERPRETER
)
163 .IF
"$(JAVACISGCJ)" == "yes"
164 JAVAC
+=--encoding
=UTF-8
-O2
-fno-assert
-Wno-deprecated
-C
166 .IF
"$(JDK)" != "gcj" && $(JAVACISKAFFE
) != "yes"
167 JAVAC
+=-source
$(JAVA_SOURCE_VER
) -target
$(JAVA_TARGET_VER
)
170 #classpath and response
171 .IF
"$(JDK)" == "J++"
174 .IF
"$(JDK)" == "SCAFE"
298 # not to reset because possibly taken from environment
304 # avoid confusion with CUE PROFILE variable...
307 # can be set on the command line. we shouldn't delete them!
310 # reset as setting those manually is no lonjger supported
314 .IF
"$(VERBOSE)"=="" && "$(verbose)"==""
320 # ===========================================================================
321 # unter NT werden Variablennamen an untergeordnete makefiles UPPERCASE
322 # weitergereicht, aber case significant ausgewertet!
323 # ---------------------------------------------------------------------------
325 DMAKE_WORK_DIR
*:=$(subst,/,$/ $(PWD
))
347 .IF
"$(OPTIMIZE)"!=""
363 # override dbglevel if set manually
364 .IF
"$(dbglevel)"!=""
365 DBG_LEVEL
=$(dbglevel
)
372 .IF
"$(hbtoolkit)"!=""
373 HBTOOLKIT
=$(hbtoolkit
)
392 .IF
"$(SOLARLANG)" != ""
393 solarlang
*=$(SOLARLANG
)
396 .IF
"$(solarlang)" != ""
397 SOLARLANG
:=$(solarlang
)
401 COMPILER_WARN_ALL
=TRUE
402 .ENDIF
# "$(wall)"!=""
405 COMPILER_WARN_ERRORS
=TRUE
408 .IF
"$(RSC_ONCE)"!=""
409 rsc_once
*=$(RSC_ONCE
)
412 .IF
"$(COMMON_BUILD)"!=""
413 common_build
*=$(COMMON_BUILD
)
416 .IF
"$(USE_SHL_VERSIONS)"!=""
417 use_shl_versions
*=$(USE_SHL_VERSIONS
)
420 .IF
"$(noremove)"!=""
421 NOREMOVE
*=$(noremove
)
424 # --- env flags not case sensitive --------------------------------
426 #.IF "$(envcflags)"!=""
427 ENVCFLAGS
*=$(envcflags
)
430 #.IF "$(envcflagscxx)"!=""
431 ENVCFLAGSCXX
*=$(envcflagscxx
)
435 .IF
"$(envcdefs)"!=""
436 ENVCDEFS
*=$(envcdefs
)
439 .IF
"$(envlibflags)"!=""
440 ENVLIBFLAGS
*=$(envlibflags
)
443 .IF
"$(envcflagsincxx)"!=""
444 ENVCFLAGSINCXX
*=$(envcflagsincxx
)
447 .IF
"$(envlinkflags)"!=""
448 ENVLINKFLAGS
*=$(envlinkflags
)
451 .IF
"$(envrscflags)"!=""
452 ENVRSCFLAGS
*=$(envrscflags
)
455 .IF
"$(envrscdefs)"!=""
456 ENVRSCDEFS
*=$(envrscdefs
)
459 .IF
"$(envrsclinkflags)"!=""
460 # ENVRSCLINKFLAGS*=$(envrsclinkflags)
463 .IF
"$(envrcflags)"!=""
464 ENVRCFLAGS
*=$(envrcflags
)
467 .IF
"$(envrclinkflags)"!=""
468 ENVRCLINKFLAGS
*=$(envrclinkflags
)
471 # --- set both L10N variables to keep things working ---------------
473 L10N-framework
=$(L10N_framework
)
475 # --- Parameter Einstellungen ueberpruefen und umsetzen ------------
477 # profile immer mit product
488 # Produkt auf einen Wert setzen (alles klein)
489 .IF
"$(product)" != ""
491 .IF
"$(product)" == "full" ||
"$(product)" == "Full" ||
"$(product)" == "FULL"
494 .IF
"$(product)" == "demo" ||
"$(product)" == "Demo" ||
"$(product)" == "DEMO"
497 .IF
"$(product)" == "compact" ||
"$(product)" == "Compact" ||
"$(product)" == "COMPACT"
509 .IF
"$(debug)"!="D_FORCE_OPT"
520 # Optimierung bei FinalCheck funktioniert nicht!
521 .IF
"$(bndchk)" != ""
526 ######################################################
528 # sprachabh. einstellungen
530 ######################################################
534 .INCLUDE
: postset.mk
536 RSC_LANG_ISO
+:=$(completelangiso
)
537 .EXPORT
: RSC_LANG_ISO
539 ######################################################
541 .IF
"$(TARGETTYPE)"==""
545 # --- Pfade setzen -------------------------------------------------
548 # profile has to be first for not getting the .pro extension
550 OUT
=$(PRJ
)$/$(OUTPATH
).cap
555 OUT
=$(PRJ
)$/$(OUTPATH
).pro
560 OUT
=$(PRJ
)$/$(OUTPATH
).cap
564 OUT
=$(PRJ
)$/$(OUTPATH
).w
567 # could already be set by makefile.mk
569 OUT
*=$(PRJ
)$/$(OUTPATH
)
575 .IF
"$(bndchk)" != ""
576 OUT
:=$(PRJ
)$/$(OUTPATH
).bnd
579 .IF
"$(truetime)" != ""
580 OUT
=$(PRJ
)$/$(OUTPATH
).tt
583 .IF
"$(hbtoolkit)"!=""
584 OUT
=$(PRJ
)$/$(OUTPATH
).tlk
589 .IF
"$(GUI)"=="WNT" ||
"$(GUI)"=="OS2"
590 .IF
"$(USE_SHELL)"!="4nt"
592 $(subst,$(normpath
$(shell @
+cd
$(PRJ
) && pwd
$(PWDFLAGS
)))$/, $(PWD
))
593 .ELSE
# "$(USE_SHELL)"!="4nt"
594 PATH_IN_MODULE
:=$(subst,$(shell @
+cd
$(PRJ
) && echo
%_cwd
)$/, $(PWD
))
595 .ENDIF
# "$(USE_SHELL)"!="4nt"
596 .ELSE
# "$(GUI)"=="WNT"
597 PATH_IN_MODULE
:=$(subst,$(shell @
+cd
$(PRJ
) && pwd
$(PWDFLAGS
))$/, $(PWD
))
598 .ENDIF
# "$(GUI)"=="WNT"
599 .ELSE
# "$(PRJ)"!="."
601 .ENDIF
# "$(PRJ)"!="."
604 .IF
"$(common_build)"!=""
605 COMMON_OUTDIR
*=common
606 .IF
"$(no_common_build_reslib)"==""
607 common_build_reslib
=true
608 .ENDIF
# "$(no_common_build_reslib)"==""
609 .IF
"$(no_common_build_zip)"==""
610 common_build_zip
=true
611 .ENDIF
# "$(no_common_build_zip)"==""
612 .IF
"$(no_common_build_sign_jar)"==""
613 common_build_sign_jar
=true
614 .ENDIF
# "$(no_common_build_sign_jar)"==""
615 .IF
"$(no_common_build_srs)"==""
616 common_build_srs
=true
617 .ENDIF
# "$(no_common_build_srs)"==""
618 .ELSE
# "$(common_build)"!=""
619 COMMON_OUTDIR
:=$(OUTPATH
)
620 .ENDIF
# "$(common_build)"!=""
623 LOCAL_COMMON_OUT
:=$(subst,$(OUTPATH
),$(COMMON_OUTDIR
) $(OUT
))
624 .EXPORT
: LOCAL_OUT LOCAL_COMMON_OUT
626 # --- generate output tree -----------------------------------------
628 # As this is not part of the initial startup makefile we define an infered
629 # target instead of using $(OUT)$/inc$/myworld.mk as target name.
631 $(OUT
)$/inc
$/%world.mk
:
635 # don't need/want output trees in solenv!!!
636 .IF
"$(PRJNAME)"!="solenv"
637 .INCLUDE
: $(OUT
)$/inc
$/myworld.mk
638 .ENDIF
# "$(PRJNAME)"!="solenv"
640 .IF
"$(common_build)"!=""
641 $(LOCAL_COMMON_OUT
)$/inc
$/%world.mk
:
642 @
$(MKOUT
) $(subst,$(OUTPATH
),$(COMMON_OUTDIR
) $(ROUT
))
645 .IF
"$(PRJNAME)"!="solenv"
646 .INCLUDE
: $(LOCAL_COMMON_OUT
)$/inc
$/myworld.mk
647 .ENDIF
# "$(PRJNAME)"!="solenv"
648 .ENDIF
# "$(common_build)"!=""
657 # pointing to misc in common output tree if exists
658 COMMONMISC
={$(subst,$(OUTPATH
),$(COMMON_OUTDIR
) $(MISC
))}
664 IDLPACKAGE
:=$(PACKAGE
)
665 IDLPACKAGENAME
:=$(IDLPACKAGE
:sX\X
/X
)
667 IDLPACKAGE
=$(PRJNAME
)
668 IDLPACKAGENAME
=$(PRJNAME
)
684 # wir haben ein ucr verzeichnis
687 # $(L) nur noch pfad ins solver\upd\...\lib
688 #L:={$(LB);$(SLB);$(ILIB)}
691 #.EXPORT : SLB LB L LIB
693 #todo: check PRJ is still expected to exist in environment
696 # Class-Path for java-classes
697 # obwohl der generierte Bytecode plattformunabhg. sein sollte
698 # generieren wir ihn ersteinmal ins abhaengige Verzeichnis
699 CLASSDIR
=$(OUT
)$/class
700 CLASSPATH
!:=.
$(PATH_SEPERATOR
)$(CLASSDIR
)$(PATH_SEPERATOR
)$(CLASSPATH
)
701 STARJAR
=java
-classpath
$(CLASSPATH
)$(PATH_SEPERATOR
)$(SOLARENV
)$/bin
$/jtools.jar com.sun.star.tool.starjar.StarJar
704 .IF
"$(PRJNAME)"=="sj2"
705 CLASSPATH
!:=$(CLASSPATH
:s
/sj2
/no
/)
707 .IF
"$(PRJNAME)"=="uno"
708 CLASSPATH
!:=$(CLASSPATH
:s
/uno
/no
/)
710 .IF
"$(PRJNAME)"=="tkt"
711 CLASSPATH
!:=$(CLASSPATH
:s
/tkt
/no
/)
714 # default output directory when processing
715 # configuration files
718 # Makros fuer die Librarynamen des Solar
719 .INCLUDE .IGNORE
: office.mk
722 .IF
"$(GUI)"=="WNT" ||
"$(GUI)"=="OS2"
723 VERSIONOBJ
=$(SLO
)$/_version.obj
727 VERSIONOBJ
=$(SLO
)$/_version.o
730 .IF
"$(GUI)"=="WNT" ||
"$(GUI)"=="OS2"
731 WINVERSIONNAMES
=$(UNIXVERSIONNAMES
)
732 .ENDIF
# "$(GUI)"=="WNT"
734 .IF
"$(GUI)"=="WNT" ||
"$(GUI)"=="OS2"
736 SHELLLIB
=-lgdi32
-lshell32
-ladvapi32
-lcomdlg32
738 SHELLLIB
=gdi32.lib shell32.lib advapi32.lib comdlg32.lib
748 # pointing to misc in common output tree if exists
749 COMMONBIN
=$(LOCAL_COMMON_OUT
)$/bin
752 # still without -I here s.a. target.mk INCLUDE
754 INCPCH
=$(PRJ
)$/inc
$/pch
756 INCGUI
=$(PRJ
)$/$(GUIBASE
)$/inc
759 INCUNOIDL
=$(INCCOM
)$/$(PRJNAME
)
760 INCDEPN
=.
$(INCGUI
) $(INCLOCAL
) $(INC
) $(INC
)$/$(PRJNAME
)
762 INCLOCPRJ
=$(foreach,i
,$(PRJINC
) $i$/inc
)
763 INCDEPN
+=$(INCLOCPRJ
)
769 # Resource-Pfad fuer .SRS
771 .IF
"$(common_build_srs)"!=""
772 SRS
=$(subst,$(OUTPATH
),$(COMMON_OUTDIR
) $(OUT
))$/srs
773 SRSX
=$(subst,$(OUTPATH
),$(COMMON_OUTDIR
) $(OUT
))$/srs
774 .ELSE
# "$(common_build_srs)"!=""
777 .ENDIF
# "$(common_build_srs)"!=""
779 # Resource-Pfad fuer .RC und .RES
783 # das normale MISC wird nicht an LDMISC angepasst, stattdessen MISCX
786 BIN
=$(PRJ
)$/$(OUTPATH
).xl
$/bin
789 # damit gezielt Abhaengigkeiten auf s: angegeben werden koennen
791 .IF
"$(common_build)"!=""
792 SOLARIDLDIR
=$(SOLARVERSION
)$/common
$(PROEXT
)$/idl
$(EXT_UPDMINOR
)
794 SOLARIDLDIR
=$(SOLARVERSION
)$/$(INPATH
)$/idl
$(EXT_UPDMINOR
)
797 .IF
"$(UPDMINOR)" != ""
798 EXT_UPDMINOR
=.
$(UPDMINOR
)
802 SOLARRESDIR
=$(SOLARVERSION
)$/$(INPATH
)$/res
$(EXT_UPDMINOR
)
803 SOLARRESXDIR
=$(SOLARVERSION
)$/$(INPATH
)$/res
$(EXT_UPDMINOR
)
804 SOLARLIBDIR
=$(SOLARVERSION
)$/$(INPATH
)$/lib
$(EXT_UPDMINOR
)
805 SOLARJAVADIR
=$(SOLARVERSION
)$/$(INPATH
)$/java
$(EXT_UPDMINOR
)
806 SOLARINCDIR
=$(SOLARVERSION
)$/$(INPATH
)$/inc
$(EXT_UPDMINOR
)
807 SOLARINCXDIR
=$(SOLARVERSION
)$/$(INPATH
)$/inc
$(EXT_UPDMINOR
)
808 .IF
"$(SOLARLANG)"!="deut"
809 .IF
"$(SOLARLANG)" != ""
810 SOLARINCXDIR
=$(SOLARVERSION
)$/$(INPATH
)$/inc
$(EXT_UPDMINOR
)$/$(SOLARLANG
)
811 SOLARRESXDIR
=$(SOLARVERSION
)$/$(INPATH
)$/res
$(EXT_UPDMINOR
)$/$(SOLARLANG
)
814 SOLARBINDIR
=$(SOLARVERSION
)$/$(INPATH
)$/bin
$(EXT_UPDMINOR
)
815 SOLARUCRDIR
=$(SOLARVERSION
)$/$(INPATH
)$/ucr
$(EXT_UPDMINOR
)
816 SOLARPARDIR
=$(SOLARVERSION
)$/$(INPATH
)$/par
$(EXT_UPDMINOR
)
817 SOLARXMLDIR
=$(SOLARVERSION
)$/$(INPATH
)$/xml
$(EXT_UPDMINOR
)
818 SOLARDOCDIR
=$(SOLARVERSION
)$/$(INPATH
)$/doc
$(EXT_UPDMINOR
)
819 SOLARPCKDIR
=$(SOLARVERSION
)$/$(INPATH
)$/pck
$(EXT_UPDMINOR
)
820 SOLARCOMMONBINDIR
=$(SOLARVERSION
)$/common
$(PROEXT
)$/bin
$(EXT_UPDMINOR
)
821 SOLARCOMMONRESDIR
=$(SOLARVERSION
)$/common
$(PROEXT
)$/res
$(EXT_UPDMINOR
)
822 SOLARCOMMONPCKDIR
=$(SOLARVERSION
)$/common
$(PROEXT
)$/pck
$(EXT_UPDMINOR
)
823 .IF
"$(common_build)"==""
824 SOLARCOMMONBINDIR
=$(SOLARBINDIR
)
825 SOLARCOMMONRESDIR
=$(SOLARRESDIR
)
826 SOLARCOMMONPCKDIR
=$(SOLARPCKDIR
)
829 .IF
"$(UPDATER)"=="YES"
830 .IF
"$(SHL$(TNR)NOCHECK)"==""
831 .IF
"$(SOLAR_STLLIBPATH)"!=""
832 EXTRALIBPATHS
+=-L
$(SOLAR_STLLIBPATH
)
834 .ENDIF
# "$(SHL$(TNR)NOCHECK)"!=""
844 # needs to be expanded!!!
846 # extend library path for MS Compiler
848 LIB
:=$(LB
);$(SLB
);$(ILIB
)
851 # extend library path for MinGW Compiler
852 .IF
"$(GUI)$(COM)"=="WNTGCC"
853 LIB
:=$(LB
);$(BIN
);$(ILIB
)
856 # --- Environment-Allgemein ----------------------------------------
858 .IF
"$(CPUNAME)" == ""
859 CPUNAME
=CPUNAME_HAS_TO_BE_SET_IN_ENVIRONMENT
862 .IF
"$(USE_STLP_DEBUG)" != ""
863 SCPCDEFS
+=-D_STLP_DEBUG
866 .IF
"$(UDK_MAJOR)"!=""
867 SCPDEFS
+=-DUDK_MAJOR
=$(UDK_MAJOR
)
868 .ENDIF
# "$(UDK_MAJOR)"!=""
870 SCPDEFS
+=-U
$(COMID
) -DCOMID
=$(COMID
) -DCOMNAME
=$(COMNAME
) -D_
$(COMID
)
871 SCPDEFS
+=-DCCNUMVER
=$(CCNUMVER
)
873 SCPDEFS
+=-DSHORTSTDCPP3
=$(SHORTSTDCPP3
)
874 .ENDIF
# "$(SHORTSTDCPP3)"!=""
875 # extend library path for OS/2 gcc/wlink
877 LIB
:=$(LB
);$(SLB
);$(ILIB
)
881 UNOIDLDEFS
+=-DSUPD
=$(UPD
) -DUPD
=$(UPD
)
883 UNOIDLDEPFLAGS
=-Mdepend
=$(SOLARVER
)
886 UNOIDLINC
!:=-I
$(PRE
)$/idl
$(UNOIDLINC
)
888 UNOIDLINC
+=-I.
-I..
-I
$(PRJ
) -I
$(PRJ
)$/inc
-I
$(PRJ
)$/$(INPATH
)$/idl
-I
$(OUT
)$/inc
-I
$(SOLARIDLDIR
) -I
$(SOLARINCDIR
)
890 CDEFS
= -D
$(OS
) -D
$(GUI
) -D
$(GVER
) -D
$(COM
) -D
$(CVER
) -D
$(CPUNAME
)
892 .IF
"$(USE_STLP_DEBUG)" != "" && "$(GUI)"!="OS2"
896 .IF
"$(CDEFS_PRESET)" != ""
897 CDEFS
+=$(CDEFS_PRESET
)
900 .IF
"$(TIMELOG)" != ""
905 CDEFS
+=-DCVER
=$(CVER
)
910 CDEFSSLO
=-DSHAREDLIB
-D_DLL_
913 #CDEFSMT=-DMULTITHREAD
915 .IF
"$(dbg_build_only)" == ""
918 CDEFSDBGUTIL
=-DDBG_UTIL
920 HDEFS
=-D
:$(GUI
) -D
:$(COM
)
922 MKDEPFLAGS
+=-I
$(INCDEPN
:s
/ / -I
/:s
/-I-I
/-I
/)
923 MKDEPALLINC
=$(SOLARINC
:s
/-I
/ -I
/)
924 MKDEPPREINC
=-I
$(PREPATH
)$/$(INPATH
)$/inc
$(UPDMINOREXT
)
925 MKDEPSOLENV
=-I
$(SOLARENV
)$/inc
-I
$(SOLARENV
)$/$(GUI
)$(CVER
)$(COMEX
)$/inc
926 MKDEPSOLVER
=-I
$(SOLARVERSION
)$/$(INPATH
)$/inc
$(UPDMINOREXT
) -I
$(SOLARVERSION
)$/$(INPATH
)$/inc
927 MKDEPLOCAL
=-I
$(INCCOM
)
929 .IF
"$(MKDEPENDALL)"!=""
930 MKDEPFLAGS
+=$(MKDEPALLINC
)
933 .IF
"$(MKDEPENDSOLENV)"!=""
934 MKDEPFLAGS
+=$(MKDEPSOLENV
)
937 .IF
"$(MKDEPENDPREPATH)"!=""
938 MKDEPFLAGS
+=$(MKDEPPREINC
)
941 .IF
"$(MKDEPENDSOLVER)"!=""
942 MKDEPFLAGS
+=$(MKDEPSOLVER
)
944 # unused - nodep should do the same now
945 #.IF "$(MKDEPENDLOCAL)"!="NO"
946 MKDEPFLAGS
+=$(MKDEPLOCAL
)
958 ZIPFLAGS
=$(ZIPUPDATE
)
959 #hack for dynamic language subdirs
963 SCPLINKFLAGS
=-i
$(PAR
),$(SOLARPARDIR
)
964 .IF
"$(SCPLINKVERSION)"!=""
965 SCPLINKFLAGS
+=-v
$(SCPLINKVERSION
)
966 .ENDIF
# "$(SCPLINKVERSION)"!=""
968 .IF
"$(make_srs_deps)"!=""
970 .ELSE
# "$(make_srs_deps)"!=""
972 .ENDIF
# "$(make_srs_deps)"!=""
975 RSCUPDVER
=$(RSCREVISION
)
976 RSCUPDVERDEF
=-DUPDVER
="$(RSCUPDVER)"
979 RSCDEFS
=-D
$(GUI
) -D
$(GVER
) -D
$(COM
) -D
$(CVER
) $(JAVADEF
)
981 .IF
"$(BUILD_SPECIAL)"!=""
982 RSCDEFS
+=-DBUILD_SPECIAL
=$(BUILD_SPECIAL
)
985 RSCDEFIMG
*=default_images
993 # settings for mozilla idl compiler
997 # alle bisher verwendeten Linker benutzen + um LIBs auf der naechsten Zeile
998 # weiter zu schreiben, wenn es da eine Ausnahme geben sollte, muss
999 # LINKEXTENDLINE compilerabhaengig definiert werden
1002 LNT
=$(DEVROOT
)$/lint
$/lint
1003 #LNTFLAGS=+v -i$(DEVROOT)$/lint\ -mL options.lnt -u
1004 LNTFLAGS
=+v
-i
$(DEVROOT
)$/lint
$/ -mL options.lnt
-u
1011 .IF
"$(GUI)" == "UNX"
1015 .IF
"$(GUI)" == "OS2"
1019 # remove if .Net 2003 support has expired
1021 .IF
"$(OS)$(COM)$(CPU)" == "WNTMSCI"
1022 .IF
"$(COMEX)" == "10"
1023 .IF
"$(SLOFILES)$(OBJFILES)$(DEPOBJFILES)"!=""
1025 .EXPORT
: MAXPROCESS
1026 .ENDIF
# "$(SLOFILES)$(OBJFILES)$(DEPOBJFILES)"!=""
1027 .ENDIF
# "$(COMEX)" == "10"
1028 .ENDIF
# "$(OS)$(COM)$(CPU)" == "WNTMSCI"
1029 .ENDIF
# "$(debug)"!=""
1031 # for multiprocess building in external modules
1032 # allow seperate handling
1033 EXTMAXPROCESS
*=$(MAXPROCESS
)
1037 REGCOMPARE
*=regcompare
1039 CPPUMAKER
*=cppumaker
1040 JAVAMAKER
*=javamaker
1042 .IF
"$(JAVAINTERPRETER)" == ""
1045 JAVA
*:=$(JAVAINTERPRETER
)
1047 .EXPORT
: JAVA JAVAI
1049 # Define SCPCOMP without wrapper because pre2par.pl chokes on DOS style
1050 # pathes. (See iz57443)
1051 SCPCOMP
=$(PERL
) $(SOLARENV
)$/bin
$/pre2par.pl
1052 SCPLINK
=$(PERL
) $(SOLARENV
)$/bin
$/par2script.pl
1056 .IF
"$(DISABLE_ENHANCED_COMID)"==""
1057 .INCLUDE
: tg_compv.mk
1058 .ELSE
# "$(DISABLE_ENHANCED_COMID)"==""
1060 .ENDIF
# "$(DISABLE_ENHANCED_COMID)"==""
1061 .IF
"$(SOLAR_JAVA)"=="TRUE"
1062 .IF
"$(USE_JAVAVER)"!=""
1063 .INCLUDE
: tg_javav.mk
1064 .ENDIF
"$(USE_JAVAVER)"!=""
1065 .ENDIF
# "$(SOLAR_JAVA)"=="TRUE"
1068 GXX_INCLUDE_PATH
*:=$(COMPATH
)$/include$/c
++$/$(CCVER
)
1069 .EXPORT
: GXX_INCLUDE_PATH
1070 CDEFS
+= -DGXX_INCLUDE_PATH
=$(GXX_INCLUDE_PATH
)
1073 # --- extend new environment ----------------------------------
1074 CDEFS
+= -DSUPD
=$(UPD
)
1076 # flags to enable build with symbols; required for crashdump feature
1077 .IF
("$(ENABLE_CRASHDUMP)"!="" && "$(ENABLE_CRASHDUMP)"!="DUMMY") ||
"$(ENABLE_SYMBOLS)"!=""
1078 CFLAGSENABLESYMBOLS_CC_ONLY
*=$(CFLAGSENABLESYMBOLS
)
1079 CFLAGSCXX
+=$(CFLAGSENABLESYMBOLS
)
1080 CFLAGSCC
+=$(CFLAGSENABLESYMBOLS_CC_ONLY
)
1081 .ENDIF
# ("$(ENABLE_CRASHDUMP)"!="" && "$(ENABLE_CRASHDUMP)"!="DUMMY") || "$(ENABLE_SYMBOLS)"!=""
1083 .IF
"$(profile)"!=""
1084 CDEFS
+= $(CDEFSPROF
)
1085 CFLAGS
+= $(CFLAGSPROF
)
1087 LINKFLAGS
=$(LINKFLAGSWST
)
1088 LINKCFLAGS
=$(LINKFLAGSWST
)
1090 LINKFLAGSADD
+=$(LINKFLAGSPROF
)
1095 JAVAFLAGS
+=$(JAVAFLAGSDEBUG
)
1096 CDEFS
+= $(CDEFSDEBUG
)
1097 CFLAGS
+= $(CFLAGSDEBUG
)
1098 LINKFLAGSADD
+= $(LINKFLAGSDEBUG
)
1101 .IF
"$(dbgutil)"!=""
1102 CDEFS
+=$(CDEFSDBGUTIL
)
1103 CFLAGS
+=$(CFLAGSDBGUTIL
)
1107 .IF
"$(product)"!=""
1108 CDEFS
+= -DPRODUCT
-DNDEBUG
1111 CDEFS
+=-DPRODUCT_FULL
1112 HDEFS
+=-D
:PRODUCT_FULL
1113 RSCDEFS
+= -DPRODUCT_FULL
-DNDEBUG
1116 .IF
"$(DBG_LEVEL)"!=""
1117 CDEFS
+=-DOSL_DEBUG_LEVEL
=$(DBG_LEVEL
)
1118 RSCDEFS
+=-DOSL_DEBUG_LEVEL
=$(DBG_LEVEL
)
1121 .IF
"$(optimize)"!=""
1123 CFLAGS
+=$(CFLAGSOPT
)
1124 LINKFLAGSADD
+=$(LINKFLAGSOPT
)
1126 CFLAGS
+=$(CFLAGSNOOPT
)
1129 .IF
"$(ENABLE_EXCEPTIONS)"!=""
1130 GLOBAL_EXCEPTIONS_FLAGS
+=$(CFLAGSEXCEPTIONS
)
1131 GLOBAL_EXCEPTIONS_FLAGS
+=-DEXCEPTIONS_ON
1133 GLOBAL_EXCEPTIONS_FLAGS
+=$(CFLAGS_NO_EXCEPTIONS
)
1134 GLOBAL_EXCEPTIONS_FLAGS
+=-DEXCEPTIONS_OFF
1136 # used if an object appears in the EXCEPTIONSFILES list
1138 LOCAL_EXCEPTIONS_FLAGS
+=$(CFLAGSEXCEPTIONS
)
1139 LOCAL_EXCEPTIONS_FLAGS
+=-DEXCEPTIONS_ON
1141 .IF
"$(ENABLE_GSTREAMER)" == "TRUE"
1145 .IF
"$(ENABLE_LAYOUT)" == "TRUE"
1146 CDEFS
+=-DENABLE_LAYOUT
=1
1147 .ELSE
# ENABLE_LAYOUT != TRUE
1148 CFLAGS
+=-DENABLE_LAYOUT
=0
1149 .ENDIF
# ENABLE_LAYOUT != TRUE
1151 .IF
"$(ENABLE_LAYOUT_EXPERIMENTAL)" == "TRUE"
1152 CDEFS
+=-DENABLE_LAYOUT_EXPERIMENTAL
=1
1153 .ELSE
# ENABLE_LAYOUT_EXPERIMENTAL != TRUE
1154 CFLAGS
+=-DENABLE_LAYOUT_EXPERIMENTAL
=0
1155 .ENDIF
# ENABLE_LAYOUT_EXPERIMENTAL != TRUE
1157 # compose flags and defines for GUI
1158 .IF
"$(TARGETTYPE)"=="GUI"
1160 CFLAGSSLO
+=$(CFLAGSSLOGUIMT
)
1161 CDEFSSLO
+=$(CDEFSSLOMT
)
1162 LINKFLAGSAPP
=$(LINKFLAGSAPPGUI
)
1163 LINKFLAGSSHL
=$(LINKFLAGSSHLGUI
)
1167 CDEFSOBJ
+= $(CDEFSMT
) $(CDEFSOBJMT
)
1168 CFLAGSOBJ
+=$(CFLAGSOBJGUIMT
)
1169 STDLIB
=$(STDLIBGUIMT
)
1170 STDSHL
=$(STDSHLGUIMT
)
1174 # compose flags and defines for CUI
1175 .IF
"$(TARGETTYPE)" == "CUI" ||
"$(TARGETTYPE)"=="cui"
1177 CFLAGSSLO
+=$(CFLAGSSLOCUIMT
)
1178 CDEFSSLO
+=$(CDEFSSLOMT
)
1179 LINKFLAGSAPP
=$(LINKFLAGSAPPCUI
)
1180 LINKFLAGSSHL
=$(LINKFLAGSSHLCUI
)
1184 CDEFSOBJ
+=$(CDEFSMT
) $(CDEFSOBJMT
)
1185 CFLAGSOBJ
+=$(CFLAGSOBJCUIMT
)
1186 STDLIB
=$(STDLIBCUIMT
)
1187 STDSHL
=$(STDSHLCUIMT
)
1193 .IF
"$(USE_SYSTEM_STL)"=="YES"
1197 .IF
"$(NO_DEFAULT_STL)"==""
1198 STDLIB
+=$(LIBSTLPORT
)
1199 STDSHL
+=$(LIBSTLPORT
)
1200 .ENDIF
# "$(NO_DEFAULT_STL)"==""
1202 # fill up unresolved symbols not found else where
1203 .IF
"$(FILLUPARC)"!=""
1204 STDLIB
+=$(FILLUPARC
)
1205 STDSHL
+=$(FILLUPARC
)
1206 .ENDIF
# "$(FILUPARC)"!=""
1208 .IF
"$(DISABLE_JAVA)"==""
1209 .IF
"$(SOLAR_JAVA)"!=""
1211 .ENDIF
# "$(SOLAR_JAVA)"!=""
1212 .ELSE
# "$(DISABLE_JAVA)"==""
1214 .EXPORT
: SOLAR_JAVA
1215 .IF
"$(JDKPATH)"!=""
1216 environment_confusion
:
1217 @echo
----------------------------------------------------------
1221 @echo
- $$JDKPATH and
$$DISABLE_JAVA are set. this will lead
1222 @echo
- to impropper results.
1224 @echo
----------------------------------------------------------
1225 force_dmake_to_error
1226 .ENDIF
# "$(JDKPATH)"!=""
1227 .ENDIF
# "$(DISABLE_JAVA)"==""
1229 .INCLUDE .IGNORE
: $(UPD
)$(LAST_MINOR
).mk
1231 # Once all modules on a given platform compile without warnings, the specific
1232 # .mk file for that platform should set COMPILER_WARN_ERRORS=TRUE and no longer
1233 # set MODULES_WITH_WARNINGS, and once no platform sets MODULES_WITH_WARNINGS any
1234 # longer, this code can go away:
1235 .IF
"$(MODULES_WITH_WARNINGS)" != ""
1236 MODULES_WITH_WARNINGS_1
:= $(foreach,i
,$(MODULES_WITH_WARNINGS
) .
$(i
).
)
1237 MODULES_WITH_WARNINGS_2
:= $(subst,.
$(PRJNAME
).
, $(MODULES_WITH_WARNINGS_1
))
1238 .IF
"$(MODULES_WITH_WARNINGS_1)" == "$(MODULES_WITH_WARNINGS_2)"
1239 COMPILER_WARN_ERRORS
= TRUE
1243 CFLAGSWARNCXX
*= $(CFLAGSWARNCC
)
1244 CFLAGSWALLCXX
*= $(CFLAGSWALLCC
)
1245 CFLAGSWERRCXX
*= $(CFLAGSWERRCC
)
1247 .IF
"$(ENVWARNFLAGS)"==""
1248 .IF
"$(COMPILER_WARN_ALL)"==""
1249 CFLAGSCC
+=$(CFLAGSWARNCC
)
1250 CFLAGSCXX
+=$(CFLAGSWARNCXX
)
1252 CFLAGSCC
+=$(CFLAGSWALLCC
)
1253 CFLAGSCXX
+=$(CFLAGSWALLCXX
)
1255 .IF
"$(COMPILER_WARN_ERRORS)"!="" && "$(EXTERNAL_WARNINGS_NOT_ERRORS)"==""
1256 CFLAGSCC
+=$(CFLAGSWERRCC
)
1257 CFLAGSCXX
+=$(CFLAGSWERRCXX
)
1259 .ELSE
# "$(ENVWARNFLAGS)"==""
1260 CFLAGSAPPEND
+=$(ENVWARNFLAGS
)
1261 .ENDIF
# "$(ENVWARNFLAGS)"==""
1265 CFLAGS
+= $(CFLAGSCALL
) $(ENVCFLAGS
)
1266 CFLAGSCXX
+= $(ENVCFLAGSCXX
)
1267 # andersrum wg. -TPxxxx
1268 CFLAGSINCXX
+:=$(ENVCFLAGSINCXX
)
1269 LIBFLAGS
+= $(ENVLIBFLAGS
)
1270 LINKFLAGSADD
+= $(ENVLINKFLAGS
)
1271 RSCFLAGS
+= $(ENVRSCFLAGS
)
1272 RSCDEFS
+= $(ENVRSCDEFS
)
1273 # RSCLINKFLAGS+= $(ENVRSCLINKFLAGS)
1274 RCFLAGS
+= $(ENVRCFLAGS
)
1275 RCLINKFLAGS
+= $(ENVRCLINKFLAGS
)
1277 LINKFLAGSRUNPATH_URELIB
*=
1278 LINKFLAGSRUNPATH_UREBIN
*=
1279 LINKFLAGSRUNPATH_OOO
*=
1280 LINKFLAGSRUNPATH_SDK
*=
1281 LINKFLAGSRUNPATH_BRAND
*=
1282 LINKFLAGSRUNPATH_OXT
*=
1283 LINKFLAGSRUNPATH_NONE
*=
1285 # make sure both linker variables are set
1287 LINKCFLAGS
*=$(LINKFLAGS
)
1288 LINKFLAGS
+=$(LINKFLAGSADD
)
1289 LINKCFLAGS
+=$(LINKFLAGSADD
)
1291 #defaults for UCR HEADER
1293 UNOUCROUT
*=$(OUT
)$/inc
$/$(TARGET
)
1294 INCPRE
+=-I
$(UNOUCROUT
)
1295 UNOUCRRDB
*=$(SOLARBINDIR
)$/types.rdb
1297 # location of trustedinfo.manifest for Windows Vista
1299 TRUSTED_MANIFEST_LOCATION
*=$(SOLARENV
)$/inc
1300 .ENDIF
# "$(COM)"=="MSC"
1302 # --- Compiler -----------------------------------------------------
1305 # --- include typelists --------------------------------------------
1307 .IF
"$(COMP1TYPELIST)"!=""
1308 .INCLUDE .IGNORE
: $(MISC
)$/$(COMP1TYPELIST
).mk
1309 $(COMP1TYPELIST
)_XML2CMPTYPES
:=$(shell @xml2cmp
-types stdout
$(MISC
)$/$(COMP1TYPELIST
)$($(WINVERSIONNAMES
)_MAJOR
).xml
)
1312 .IF
"$(COMP2TYPELIST)"!=""
1313 .INCLUDE .IGNORE
: $(MISC
)$/$(COMP2TYPELIST
).mk
1314 $(COMP2TYPELIST
)_XML2CMPTYPES
:=$(shell @xml2cmp
-types stdout
$(MISC
)$/$(COMP2TYPELIST
)$($(WINVERSIONNAMES
)_MAJOR
).xml
)
1317 .IF
"$(COMP3TYPELIST)"!=""
1318 .INCLUDE .IGNORE
: $(MISC
)$/$(COMP3TYPELIST
).mk
1319 $(COMP3TYPELIST
)_XML2CMPTYPES
:=$(shell @xml2cmp
-types stdout
$(MISC
)$/$(COMP3TYPELIST
)$($(WINVERSIONNAMES
)_MAJOR
).xml
)
1322 .IF
"$(COMP4TYPELIST)"!=""
1323 .INCLUDE .IGNORE
: $(MISC
)$/$(COMP4TYPELIST
).mk
1324 $(COMP4TYPELIST
)_XML2CMPTYPES
:=$(shell @xml2cmp
-types stdout
$(MISC
)$/$(COMP4TYPELIST
)$($(WINVERSIONNAMES
)_MAJOR
).xml
)
1327 .IF
"$(COMP5TYPELIST)"!=""
1328 .INCLUDE .IGNORE
: $(MISC
)$/$(COMP5TYPELIST
).mk
1329 $(COMP5TYPELIST
)_XML2CMPTYPES
:=$(shell @xml2cmp
-types stdout
$(MISC
)$/$(COMP5TYPELIST
)$($(WINVERSIONNAMES
)_MAJOR
).xml
)
1332 .IF
"$(COMP6TYPELIST)"!=""
1333 .INCLUDE .IGNORE
: $(MISC
)$/$(COMP6TYPELIST
).mk
1334 $(COMP6TYPELIST
)_XML2CMPTYPES
:=$(shell @xml2cmp
-types stdout
$(MISC
)$/$(COMP6TYPELIST
)$($(WINVERSIONNAMES
)_MAJOR
).xml
)
1337 .IF
"$(COMP7TYPELIST)"!=""
1338 .INCLUDE .IGNORE
: $(MISC
)$/$(COMP7TYPELIST
).mk
1339 $(COMP7TYPELIST
)_XML2CMPTYPES
:=$(shell @xml2cmp
-types stdout
$(MISC
)$/$(COMP7TYPELIST
)$($(WINVERSIONNAMES
)_MAJOR
).xml
)
1342 .IF
"$(COMP8TYPELIST)"!=""
1343 .INCLUDE .IGNORE
: $(MISC
)$/$(COMP8TYPELIST
).mk
1344 $(COMP8TYPELIST
)_XML2CMPTYPES
:=$(shell @xml2cmp
-types stdout
$(MISC
)$/$(COMP8TYPELIST
)$($(WINVERSIONNAMES
)_MAJOR
).xml
)
1347 .IF
"$(COMP9TYPELIST)"!=""
1348 .INCLUDE .IGNORE
: $(MISC
)$/$(COMP9TYPELIST
).mk
1349 $(COMP9TYPELIST
)_XML2CMPTYPES
:=$(shell @xml2cmp
-types stdout
$(MISC
)$/$(COMP9TYPELIST
)$($(WINVERSIONNAMES
)_MAJOR
).xml
)
1352 # some place to define these jars for SO environment
1353 XML_APIS_JAR
*=$(SOLARBINDIR
)$/xml-apis.jar
1354 XERCES_JAR
*=$(SOLARBINDIR
)$/xercesImpl.jar
1356 # workaround for strange dmake bug:
1357 # if the previous block was a rule or a target, "\#" isn't recognized
1358 # as an escaped "#". if it was an assignment, escaping works...
1359 some_unique_variable_name
:=1