update ooo310-m15
[ooovba.git] / solenv / inc / settings.mk
blob50e38a04250a414c261c53ddc08ce2a42ec978c7
1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # Copyright 2008 by Sun Microsystems, Inc.
7 # OpenOffice.org - a multi-platform office productivity suite
9 # $RCSfile: settings.mk,v $
11 # $Revision: 1.238 $
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!
38 force_dmake_to_error
39 .ENDIF
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)
48 .ENDIF
50 .IF "$(USE_PCH)"!=""
51 ENABLE_PCH=TRUE
52 .ENDIF # "$(USE_PCH)"!=""
54 .IF "$(ENABLE_PCH)"!="" && "$(BUILD_SPECIAL)"!=""
55 .IF "$(SOLARSRC)"=="$(SRC_ROOT)"
56 NETWORK_BUILD:=TRUE
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"
64 SCRIPTEXT=.bat
65 .ELSE # "$(GUI)"=="WNT"
66 SCRIPTEXT=
67 .ENDIF # "$(GUI)"=="WNT"
69 .INCLUDE : minor.mk
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!
80 WRONG_SOURCEVERSION
81 .ENDIF
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"
96 incorrect_settings:
97 @echo "#"
98 @echo "#" ERROR: setsolar option -bsclient used but UPDATER=YES not set!
99 @echo "#"
100 force_dmake_to_error
101 .ENDIF
102 .ENDIF
104 .INCLUDE : udkversion.mk
106 # --- reset defined Environments --------------------
107 ASM=
108 AFLAGS=
111 #START JAVA
113 #interpreter location
114 .IF "$(JAVAINTERPRETER)" == ""
115 .IF "$(JDK)" == "J++"
116 JAVAINTERPRETER=jview.exe
117 .ELSE
118 .IF "$(JDK)" == "SCAFE"
119 .IF "$(JDK_VERSION)" != ""
120 JAVAINTERPRETER=$(DEVROOT)$/vcafe11$/java$/bin$/java.exe
121 .ELSE
122 JAVAINTERPRETER=$(DEVROOT)$/cafepro$/java$/bin$/java.exe
123 .ENDIF
124 .ELSE
125 .IF "$(JAVACISGCJ)" == "yes"
126 JAVAINTERPRETER=gij
127 .ELSE
128 JAVAINTERPRETER=java
129 .ENDIF
130 .ENDIF
131 .ENDIF
132 .ENDIF
134 #compiler location
135 .IF "$(JAVACOMPILER)" == ""
136 .IF "$(JDK)" == "J++"
137 JAVACOMPILER=jvc.exe
138 .ELSE
139 .IF "$(JDK)" == "SCAFE"
140 .IF "$(JDK_VERSION)" != ""
141 JAVACOMPILER=$(DEVROOT)$/vcafe11$/bin$/sj.exe
142 .ELSE
143 JAVACOMPILER=$(DEVROOT)$/cafepro$/bin$/sj.exe
144 .ENDIF
145 .ELSE
146 .IF "$(JAVACISGCJ)" == "yes"
147 JAVACOMPILER=gcj
148 .ELSE
149 JAVACOMPILER=javac
150 .ENDIF
151 .ENDIF
152 .ENDIF
153 .ENDIF
155 #if javadoc is not already set
156 .IF "$(JAVADOC)"==""
157 JAVADOC=javadoc -J-Xmx120m
158 .ENDIF
160 #required arguments
161 JAVAC=$(JAVACOMPILER)
162 JAVAI:=$(JAVAINTERPRETER)
163 .IF "$(JAVACISGCJ)" == "yes"
164 JAVAC+=--encoding=UTF-8 -O2 -fno-assert -Wno-deprecated -C
165 .ENDIF
166 .IF "$(JDK)" != "gcj" && $(JAVACISKAFFE) != "yes"
167 JAVAC+=-source $(JAVA_SOURCE_VER) -target $(JAVA_TARGET_VER)
168 .ENDIF
170 #classpath and response
171 .IF "$(JDK)" == "J++"
172 JAVACPS=/cp
173 .ELSE
174 .IF "$(JDK)" == "SCAFE"
175 JAVACPS=-classpath
176 JAVARESPONSE=TRUE
177 .ELSE
178 JAVACPS=-classpath
179 JAVARESPONSE=
180 .ENDIF
181 .ENDIF
183 #END JAVA
185 CDEFS=
186 CXXDEFS=
187 CDEFSCXX=
188 CDEFSOBJ=
189 CDEFSSLO=
190 CDEFSGUI=
191 CDEFSCUI=
192 CDEFSMT=
193 CDEFSPROF=
194 CDEFSDEBUG=
195 CDEFSDBGUTIL=
196 CDEFSOPT=
197 HDEFS=
199 CFLAGS=
200 CFLAGSCALL=
201 CFLAGSCXX=
202 CFLAGSCC=
203 CFLAGSOBJ=
204 CFLAGSSLO=
205 CFLAGSOBJGUIMT=
206 CFLAGSOBJCUIMT=
207 CFLAGSSLOGUIMT=
208 CFLAGSSLOCUIMT=
209 CFLAGSPROF=
210 CFLAGSDEBUG=
211 CFLAGSDBGUTIL=
212 CFLAGSOPT=
213 CFLAGSNOOPT=
214 CFLAGSOUTOBJ=
216 CFLAGSINCXX=
218 LINKFLAGS=
219 LINKFLAGSAPPGUI=
220 LINKFLAGSSHLGUI=
221 LINKFLAGSAPPCUI=
222 LINKFLAGSSHLCUI=
223 LINKFLAGSTACK=
224 LINKFLAGSPROF=
225 LINKFLAGSDEBUG=
226 LINKFLAGSOPT=
227 LINKFLAGSAPP=
228 LINKFLAGSSHL=
229 LINKEXTENDLINE=
231 STDOBJGUI=
232 STDSLOGUI=
233 STDOBJCUI=
234 STDSLOCUI=
235 STDLIBGUIMT=
236 STDLIBCUIMT=
237 STDSHLGUIMT=
238 STDSHLCUIMT=
239 STDOBJ=
240 STDSLO=
241 STDLIB=
242 STDSHL=
244 LIBMGR=
245 LIBFLAGS=
247 IMPLIBMGR=
248 IMPLIBFLAGS=
250 MAPSYM=
251 MAPSYMFLAGS=
253 RSC=
254 RSCFLAGS=
255 RSCDEFS=
256 RSCLANG=
259 RCFLAGS=
260 RCLINK=
261 RCLINKFLAGS=
262 RCSETVERSION=
264 DLLPOSTFIX=
267 HCFLAGS=
269 MKDEP=
273 COBOL=
274 CPP=
275 FOR=
276 PASCAL=
278 BFLAGS=
279 COBFLAGS=
280 CPPFLAGS=
281 CXXFLAGS=
282 FFLAGS=
283 PFLAGS=
284 RFLAGS=
286 LNT=
287 LNTFLAGS=
288 LNTFLAGSGUI=
289 LNTFLAGSCOM=
291 # doesn't make sense
292 #IDLSTATICOBJS=
294 E2P=
295 CAP=
296 cap=
298 # not to reset because possibly taken from environment
299 #CC=
300 #CXX=
301 #LINK=
304 # avoid confusion with CUE PROFILE variable...
305 PROFILE=
307 # can be set on the command line. we shouldn't delete them!
308 #profile=
310 # reset as setting those manually is no lonjger supported
311 DBGUTIL=
312 dbgutil=
314 .IF "$(VERBOSE)"=="" && "$(verbose)"==""
315 QUIET_BUILD*=@
316 .ELSE
317 QUIET_BUILD*=
318 .ENDIF
320 # ===========================================================================
321 # unter NT werden Variablennamen an untergeordnete makefiles UPPERCASE
322 # weitergereicht, aber case significant ausgewertet!
323 # ---------------------------------------------------------------------------
325 DMAKE_WORK_DIR*:=$(subst,/,$/ $(PWD))
327 .IF "$(TMP)"!=""
328 tmp*=$(TMP)
329 .ENDIF
331 .IF "$(tmp)"!=""
332 TMP*=$(tmp)
333 .ENDIF
335 .IF "$(TEMP)"!=""
336 temp*=$(TEMP)
337 .ENDIF
339 .IF "$(temp)"!=""
340 TEMP*=$(temp)
341 .ENDIF
343 .IF "$(DEPEND)"!=""
344 depend=$(DEPEND)
345 .ENDIF
347 .IF "$(OPTIMIZE)"!=""
348 optimize=$(OPTIMIZE)
349 .ENDIF
351 .IF "$(NOPT)"!=""
352 nopt*=$(NOPT)
353 .ENDIF
355 .IF "$(GROUP)"!=""
356 group*=$(GROUP)
357 .ENDIF
359 .IF "$(group)"!=""
360 GROUP*=$(group)
361 .ENDIF
363 # override dbglevel if set manually
364 .IF "$(dbglevel)"!=""
365 DBG_LEVEL=$(dbglevel)
366 .ENDIF
368 .IF "$(NODEBUG)"!=""
369 nodebug=$(NODEBUG)
370 .ENDIF
372 .IF "$(hbtoolkit)"!=""
373 HBTOOLKIT=$(hbtoolkit)
374 .ENDIF
376 .IF "$(PRODUCT)"!=""
377 product*=$(PRODUCT)
378 .ENDIF
380 .IF "$(product)"!=""
381 PRODUCT*=$(product)
382 .ENDIF
384 .IF "$(VERBOSE)"!=""
385 verbose*=$(VERBOSE)
386 .ENDIF
388 .IF "$(verbose)"!=""
389 VERBOSE*=$(verbose)
390 .ENDIF
392 .IF "$(SOLARLANG)" != ""
393 solarlang*=$(SOLARLANG)
394 .ENDIF
396 .IF "$(solarlang)" != ""
397 SOLARLANG:=$(solarlang)
398 .ENDIF
400 .IF "$(wall)"!=""
401 COMPILER_WARN_ALL=TRUE
402 .ENDIF # "$(wall)"!=""
404 .IF "$(werror)"!=""
405 COMPILER_WARN_ERRORS=TRUE
406 .ENDIF
408 .IF "$(RSC_ONCE)"!=""
409 rsc_once*=$(RSC_ONCE)
410 .ENDIF
412 .IF "$(COMMON_BUILD)"!=""
413 common_build*=$(COMMON_BUILD)
414 .ENDIF
416 .IF "$(USE_SHL_VERSIONS)"!=""
417 use_shl_versions*=$(USE_SHL_VERSIONS)
418 .ENDIF
420 .IF "$(noremove)"!=""
421 NOREMOVE*=$(noremove)
422 .ENDIF
424 # --- env flags not case sensitive --------------------------------
426 #.IF "$(envcflags)"!=""
427 ENVCFLAGS*=$(envcflags)
428 #.ENDIF
430 #.IF "$(envcflagscxx)"!=""
431 ENVCFLAGSCXX*=$(envcflagscxx)
432 #.ENDIF
435 .IF "$(envcdefs)"!=""
436 ENVCDEFS*=$(envcdefs)
437 .ENDIF
439 .IF "$(envlibflags)"!=""
440 ENVLIBFLAGS*=$(envlibflags)
441 .ENDIF
443 .IF "$(envcflagsincxx)"!=""
444 ENVCFLAGSINCXX*=$(envcflagsincxx)
445 .ENDIF
447 .IF "$(envlinkflags)"!=""
448 ENVLINKFLAGS*=$(envlinkflags)
449 .ENDIF
451 .IF "$(envrscflags)"!=""
452 ENVRSCFLAGS*=$(envrscflags)
453 .ENDIF
455 .IF "$(envrscdefs)"!=""
456 ENVRSCDEFS*=$(envrscdefs)
457 .ENDIF
459 .IF "$(envrsclinkflags)"!=""
460 # ENVRSCLINKFLAGS*=$(envrsclinkflags)
461 .ENDIF
463 .IF "$(envrcflags)"!=""
464 ENVRCFLAGS*=$(envrcflags)
465 .ENDIF
467 .IF "$(envrclinkflags)"!=""
468 ENVRCLINKFLAGS*=$(envrclinkflags)
469 .ENDIF
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
478 .IF "$(profile)"!=""
479 .IF "$(product)"==""
480 product=full
481 .ENDIF
482 .ENDIF
484 .IF "$(debug)"!=""
485 DBG_LEVEL*=2
486 .ENDIF
488 # Produkt auf einen Wert setzen (alles klein)
489 .IF "$(product)" != ""
490 optimize=true
491 .IF "$(product)" == "full" || "$(product)" == "Full" || "$(product)" == "FULL"
492 product!=full
493 .ENDIF
494 .IF "$(product)" == "demo" || "$(product)" == "Demo" || "$(product)" == "DEMO"
495 product!=demo
496 .ENDIF
497 .IF "$(product)" == "compact" || "$(product)" == "Compact" || "$(product)" == "COMPACT"
498 product!=compact
499 .ENDIF
500 DBG_LEVEL*=0
501 .ELSE
502 optimize!=true
503 dbgutil!=true
504 DBG_LEVEL*=1
505 USE_STLP_DEBUG=TRUE
506 .ENDIF
508 .IF "$(debug)"!=""
509 .IF "$(debug)"!="D_FORCE_OPT"
510 optimize=
511 OPTIMIZE=
512 .ENDIF
513 .ENDIF
515 .IF "$(nopt)"!=""
516 optimize=
517 OPTIMIZE=
518 .ENDIF
520 # Optimierung bei FinalCheck funktioniert nicht!
521 .IF "$(bndchk)" != ""
522 optimize=
523 OPTIMIZE=
524 .ENDIF
526 ######################################################
528 # sprachabh. einstellungen
530 ######################################################
532 .INCLUDE : lang.mk
534 .INCLUDE : postset.mk
536 RSC_LANG_ISO+:=$(completelangiso)
537 .EXPORT : RSC_LANG_ISO
539 ######################################################
541 .IF "$(TARGETTYPE)"==""
542 TARGETTYPE=CUI
543 .ENDIF
545 # --- Pfade setzen -------------------------------------------------
547 # Output-Pfad
548 # profile has to be first for not getting the .pro extension
549 .IF "$(profile)"!=""
550 OUT=$(PRJ)$/$(OUTPATH).cap
551 ROUT=$(OUTPATH).cap
552 .ELSE
554 .IF "$(product)"!=""
555 OUT=$(PRJ)$/$(OUTPATH).pro
556 ROUT=$(OUTPATH).pro
558 .ELSE
559 .IF "$(profile)"!=""
560 OUT=$(PRJ)$/$(OUTPATH).cap
561 ROUT=$(OUTPATH).cap
562 .ENDIF
563 .IF "$(dbcs)"!=""
564 OUT=$(PRJ)$/$(OUTPATH).w
565 ROUT=$(OUTPATH).w
566 .ENDIF
567 # could already be set by makefile.mk
568 .IF "$(OUT)" == ""
569 OUT*=$(PRJ)$/$(OUTPATH)
570 ROUT*=$(OUTPATH)
571 .ENDIF
572 .ENDIF
573 .ENDIF
575 .IF "$(bndchk)" != ""
576 OUT:=$(PRJ)$/$(OUTPATH).bnd
577 ROUT=$(OUTPATH).bnd
578 .ENDIF
579 .IF "$(truetime)" != ""
580 OUT=$(PRJ)$/$(OUTPATH).tt
581 ROUT=$(OUTPATH).tt
582 .ENDIF
583 .IF "$(hbtoolkit)"!=""
584 OUT=$(PRJ)$/$(OUTPATH).tlk
585 ROUT=$(OUTPATH).tlk
586 .ENDIF
588 .IF "$(PRJ)"!="."
589 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
590 .IF "$(USE_SHELL)"!="4nt"
591 PATH_IN_MODULE:=\
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)"!="."
600 PATH_IN_MODULE:=
601 .ENDIF # "$(PRJ)"!="."
603 # common output tree
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)"!=""
622 LOCAL_OUT:=$(OUT)
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.
630 # (See iz62795)
631 $(OUT)$/inc$/%world.mk :
632 @$(MKOUT) $(ROUT)
633 @echo $(EMQ)# > $@
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))
643 @echo $(EMQ)# > $@
645 .IF "$(PRJNAME)"!="solenv"
646 .INCLUDE : $(LOCAL_COMMON_OUT)$/inc$/myworld.mk
647 .ENDIF # "$(PRJNAME)"!="solenv"
648 .ENDIF # "$(common_build)"!=""
651 # Misc-Pfad
652 .IF "$(UNR)"!=""
653 MISCX=$(OUT)$/umisc
654 MISC=$(OUT)$/umisc
655 .ELSE
656 MISC=$(OUT)$/misc
657 # pointing to misc in common output tree if exists
658 COMMONMISC={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(MISC))}
659 .ENDIF
661 OUTCXX=$(OUT)$/cxx
663 .IF "$(PACKAGE)"!=""
664 IDLPACKAGE:=$(PACKAGE)
665 IDLPACKAGENAME:=$(IDLPACKAGE:sX\X/X)
666 .ELSE
667 IDLPACKAGE=$(PRJNAME)
668 IDLPACKAGENAME=$(PRJNAME)
669 .ENDIF
671 # Objekt-Pfad
672 OBJ=$(OUT)$/obj
673 SLO=$(OUT)$/slo
674 ROBJ=$(ROUT)$/obj
675 RSLO=$(ROUT)$/slo
677 # Particle Path
678 PAR=$(OUT)$/par
680 # Library-Pfad
681 LB=$(OUT)$/lib
682 SLB=$(OUT)$/slb
684 # wir haben ein ucr verzeichnis
685 UCR=$(OUT)$/ucr
687 # $(L) nur noch pfad ins solver\upd\...\lib
688 #L:={$(LB);$(SLB);$(ILIB)}
689 L=$(SOLARLIBDIR)
691 #.EXPORT : SLB LB L LIB
692 ENVPRJ:=$(PRJ)
693 #todo: check PRJ is still expected to exist in environment
694 .EXPORT : PRJ ENVPRJ
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
703 STARDEP=javadep
704 .IF "$(PRJNAME)"=="sj2"
705 CLASSPATH!:=$(CLASSPATH:s/sj2/no/)
706 .ENDIF
707 .IF "$(PRJNAME)"=="uno"
708 CLASSPATH!:=$(CLASSPATH:s/uno/no/)
709 .ENDIF
710 .IF "$(PRJNAME)"=="tkt"
711 CLASSPATH!:=$(CLASSPATH:s/tkt/no/)
712 .ENDIF
714 # default output directory when processing
715 # configuration files
716 PROCESSOUT*:=$(MISC)
718 # Makros fuer die Librarynamen des Solar
719 .INCLUDE .IGNORE : office.mk
720 .INCLUDE : libs.mk
722 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
723 VERSIONOBJ=$(SLO)$/_version.obj
724 .ENDIF
726 .IF "$(GUI)"=="UNX"
727 VERSIONOBJ=$(SLO)$/_version.o
728 .ENDIF
730 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
731 WINVERSIONNAMES=$(UNIXVERSIONNAMES)
732 .ENDIF # "$(GUI)"=="WNT"
734 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
735 .IF "$(COM)"=="GCC"
736 SHELLLIB=-lgdi32 -lshell32 -ladvapi32 -lcomdlg32
737 .ELSE
738 SHELLLIB=gdi32.lib shell32.lib advapi32.lib comdlg32.lib
739 .ENDIF
740 .ENDIF
742 # BIN-Pfad
743 .IF "$(UNR)"!=""
744 BIN=$(OUT)$/ubin
745 .ELSE
746 BIN=$(OUT)$/bin
747 .ENDIF
748 # pointing to misc in common output tree if exists
749 COMMONBIN=$(LOCAL_COMMON_OUT)$/bin
751 # Include-Pfad
752 # still without -I here s.a. target.mk INCLUDE
753 INC=$(PRJ)$/inc
754 INCPCH=$(PRJ)$/inc$/pch
755 INCLOCAL=..$/inc
756 INCGUI=$(PRJ)$/$(GUIBASE)$/inc
757 INCCOM=$(OUT)$/inc
758 INCCOMX=$(OUT)$/inc
759 INCUNOIDL=$(INCCOM)$/$(PRJNAME)
760 INCDEPN=. $(INCGUI) $(INCLOCAL) $(INC) $(INC)$/$(PRJNAME)
761 .IF "$(PRJINC)"!=""
762 INCLOCPRJ=$(foreach,i,$(PRJINC) $i$/inc)
763 INCDEPN+=$(INCLOCPRJ)
764 .ENDIF
765 .IF "$(INCPRE)"!=""
766 INCDEPN+=$(INCPRE)
767 .ENDIF
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)"!=""
775 SRS=$(OUT)$/srs
776 SRSX=$(OUT)$/srs
777 .ENDIF # "$(common_build_srs)"!=""
779 # Resource-Pfad fuer .RC und .RES
780 RES=$(OUT)$/res
783 # das normale MISC wird nicht an LDMISC angepasst, stattdessen MISCX
785 .IF "$(make_xl)"!=""
786 BIN=$(PRJ)$/$(OUTPATH).xl$/bin
787 .ENDIF
789 # damit gezielt Abhaengigkeiten auf s: angegeben werden koennen
791 .IF "$(common_build)"!=""
792 SOLARIDLDIR=$(SOLARVERSION)$/common$(PROEXT)$/idl$(EXT_UPDMINOR)
793 .ELSE
794 SOLARIDLDIR=$(SOLARVERSION)$/$(INPATH)$/idl$(EXT_UPDMINOR)
795 .ENDIF
797 .IF "$(UPDMINOR)" != ""
798 EXT_UPDMINOR=.$(UPDMINOR)
799 .ELSE
800 EXT_UPDMINOR=
801 .ENDIF
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)
812 .ENDIF
813 .ENDIF
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)
827 .ENDIF
829 .IF "$(UPDATER)"=="YES"
830 .IF "$(SHL$(TNR)NOCHECK)"==""
831 .IF "$(SOLAR_STLLIBPATH)"!=""
832 EXTRALIBPATHS+=-L$(SOLAR_STLLIBPATH)
833 .ENDIF
834 .ENDIF # "$(SHL$(TNR)NOCHECK)"!=""
835 .ENDIF
837 .IF "$(PRE)"==""
838 #JARDIR=$(CLASSDIR)
839 JARDIR=$(OUT)$/class
840 .ELSE
841 JARDIR=$(PRE)$/class
842 .ENDIF
844 # needs to be expanded!!!
846 # extend library path for MS Compiler
847 .IF "$(COM)"=="MSC"
848 LIB:=$(LB);$(SLB);$(ILIB)
849 .ENDIF
851 # extend library path for MinGW Compiler
852 .IF "$(GUI)$(COM)"=="WNTGCC"
853 LIB:=$(LB);$(BIN);$(ILIB)
854 .ENDIF
856 # --- Environment-Allgemein ----------------------------------------
858 .IF "$(CPUNAME)" == ""
859 CPUNAME=CPUNAME_HAS_TO_BE_SET_IN_ENVIRONMENT
860 .ENDIF
862 .IF "$(USE_STLP_DEBUG)" != ""
863 SCPCDEFS+=-D_STLP_DEBUG
864 .ENDIF
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)
872 .IF "$(COM)"=="GCC"
873 SCPDEFS+=-DSHORTSTDCPP3=$(SHORTSTDCPP3)
874 .ENDIF # "$(SHORTSTDCPP3)"!=""
875 # extend library path for OS/2 gcc/wlink
876 .IF "$(GUI)"=="OS2"
877 LIB:=$(LB);$(SLB);$(ILIB)
878 .ENDIF
881 UNOIDLDEFS+=-DSUPD=$(UPD) -DUPD=$(UPD)
883 UNOIDLDEPFLAGS=-Mdepend=$(SOLARVER)
885 .IF "$(PRE)"!=""
886 UNOIDLINC!:=-I$(PRE)$/idl $(UNOIDLINC)
887 .ENDIF
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"
893 CDEFS+=-D_STLP_DEBUG
894 .ENDIF
896 .IF "$(CDEFS_PRESET)" != ""
897 CDEFS+=$(CDEFS_PRESET)
898 .ENDIF
900 .IF "$(TIMELOG)" != ""
901 CDEFS+=-DTIMELOG
902 .ENDIF
904 .IF "$(GUI)"=="UNX"
905 CDEFS+=-DCVER=$(CVER)
906 .ENDIF
908 CDEFSCXX=
909 CDEFSOBJ=
910 CDEFSSLO=-DSHAREDLIB -D_DLL_
911 CDEFSGUI=-DGUI
912 CDEFSCUI=-DCUI
913 #CDEFSMT=-DMULTITHREAD
914 CDEFSPROF=-DPROFILE
915 .IF "$(dbg_build_only)" == ""
916 CDEFSDEBUG=-DDEBUG
917 .ENDIF
918 CDEFSDBGUTIL=-DDBG_UTIL
919 CDEFSOPT=-DOPTIMIZE
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)
931 .ENDIF
933 .IF "$(MKDEPENDSOLENV)"!=""
934 MKDEPFLAGS+=$(MKDEPSOLENV)
935 .ENDIF
937 .IF "$(MKDEPENDPREPATH)"!=""
938 MKDEPFLAGS+=$(MKDEPPREINC)
939 .ENDIF
941 .IF "$(MKDEPENDSOLVER)"!=""
942 MKDEPFLAGS+=$(MKDEPSOLVER)
943 .ENDIF
944 # unused - nodep should do the same now
945 #.IF "$(MKDEPENDLOCAL)"!="NO"
946 MKDEPFLAGS+=$(MKDEPLOCAL)
947 #.ENDIF
949 BISON=bison
950 YACCFLAGS*=-d
952 SVIDL=svidl
954 LDUMP=ldump4
955 LDUMP2=ldump4
957 ZIPUPDATE=-u -j
958 ZIPFLAGS=$(ZIPUPDATE)
959 #hack for dynamic language subdirs
960 LANGDIR=LANGDIR
962 #scplinker flags
963 SCPLINKFLAGS=-i $(PAR),$(SOLARPARDIR)
964 .IF "$(SCPLINKVERSION)"!=""
965 SCPLINKFLAGS+=-v $(SCPLINKVERSION)
966 .ENDIF # "$(SCPLINKVERSION)"!=""
968 .IF "$(make_srs_deps)"!=""
969 RSC=rscdep
970 .ELSE # "$(make_srs_deps)"!=""
971 RSC=$(FLIPCMD) rsc
972 .ENDIF # "$(make_srs_deps)"!=""
974 #new
975 RSCUPDVER=$(RSCREVISION)
976 RSCUPDVERDEF=-DUPDVER="$(RSCUPDVER)"
978 RSCFLAGS=-s
979 RSCDEFS=-D$(GUI) -D$(GVER) -D$(COM) -D$(CVER) $(JAVADEF)
981 .IF "$(BUILD_SPECIAL)"!=""
982 RSCDEFS+=-DBUILD_SPECIAL=$(BUILD_SPECIAL)
983 .ENDIF
985 RSCDEFIMG*=default_images
987 RSCEXTINC=.
989 .IF "$(DEBUG)" != ""
990 RSCDEFS+= -DDEBUG
991 .ENDIF
993 # settings for mozilla idl compiler
994 XPIDL=xpidl
995 XPIDL_LINK=xpt_link
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
1000 LINKEXTENDLINE=+
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
1005 LNTFLAGSOUTOBJ=-os
1007 .IF "$(GUI)"=="WNT"
1008 .INCLUDE : wnt.mk
1009 .ENDIF
1011 .IF "$(GUI)" == "UNX"
1012 .INCLUDE : unx.mk
1013 .ENDIF
1015 .IF "$(GUI)" == "OS2"
1016 .INCLUDE : os2.mk
1017 .ENDIF
1019 # remove if .Net 2003 support has expired
1020 .IF "$(debug)"!=""
1021 .IF "$(OS)$(COM)$(CPU)" == "WNTMSCI"
1022 .IF "$(COMEX)" == "10"
1023 .IF "$(SLOFILES)$(OBJFILES)$(DEPOBJFILES)"!=""
1024 MAXPROCESS!:=1
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)
1035 IDLC*=idlc
1036 REGMERGE*=regmerge
1037 REGCOMPARE*=regcompare
1038 REGCOMP*=regcomp
1039 CPPUMAKER*=cppumaker
1040 JAVAMAKER*=javamaker
1041 RDBMAKER*=rdbmaker
1042 .IF "$(JAVAINTERPRETER)" == ""
1043 JAVA*:=java
1044 .ELSE
1045 JAVA*:=$(JAVAINTERPRETER)
1046 .ENDIF
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
1053 LZIP*=lzip
1054 CPPLCC*=cpplcc
1056 .IF "$(DISABLE_ENHANCED_COMID)"==""
1057 .INCLUDE : tg_compv.mk
1058 .ELSE # "$(DISABLE_ENHANCED_COMID)"==""
1059 COMID=$(COM)
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"
1067 .IF "$(COM)"=="GCC"
1068 GXX_INCLUDE_PATH*:=$(COMPATH)$/include$/c++$/$(CCVER)
1069 .EXPORT : GXX_INCLUDE_PATH
1070 CDEFS+= -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH)
1071 .ENDIF
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)
1086 .IF "$(WST)"!=""
1087 LINKFLAGS=$(LINKFLAGSWST)
1088 LINKCFLAGS=$(LINKFLAGSWST)
1089 .ELSE
1090 LINKFLAGSADD+=$(LINKFLAGSPROF)
1091 .ENDIF
1092 .ENDIF
1094 .IF "$(debug)"!=""
1095 JAVAFLAGS+=$(JAVAFLAGSDEBUG)
1096 CDEFS+= $(CDEFSDEBUG)
1097 CFLAGS+= $(CFLAGSDEBUG)
1098 LINKFLAGSADD+= $(LINKFLAGSDEBUG)
1099 .ENDIF
1101 .IF "$(dbgutil)"!=""
1102 CDEFS+=$(CDEFSDBGUTIL)
1103 CFLAGS+=$(CFLAGSDBGUTIL)
1104 RSCDEFS+=-DDBG_UTIL
1105 .ENDIF
1107 .IF "$(product)"!=""
1108 CDEFS+= -DPRODUCT -DNDEBUG
1109 HDEFS+= -D:PRODUCT
1110 RSCDEFS+= -DPRODUCT
1111 CDEFS+=-DPRODUCT_FULL
1112 HDEFS+=-D:PRODUCT_FULL
1113 RSCDEFS+= -DPRODUCT_FULL -DNDEBUG
1114 .ENDIF
1116 .IF "$(DBG_LEVEL)"!=""
1117 CDEFS+=-DOSL_DEBUG_LEVEL=$(DBG_LEVEL)
1118 RSCDEFS+=-DOSL_DEBUG_LEVEL=$(DBG_LEVEL)
1119 .ENDIF
1121 .IF "$(optimize)"!=""
1122 CDEFS+=$(CDEFSOPT)
1123 CFLAGS+=$(CFLAGSOPT)
1124 LINKFLAGSADD+=$(LINKFLAGSOPT)
1125 .ELSE
1126 CFLAGS+=$(CFLAGSNOOPT)
1127 .ENDIF
1129 .IF "$(ENABLE_EXCEPTIONS)"!=""
1130 GLOBAL_EXCEPTIONS_FLAGS+=$(CFLAGSEXCEPTIONS)
1131 GLOBAL_EXCEPTIONS_FLAGS+=-DEXCEPTIONS_ON
1132 .ELSE
1133 GLOBAL_EXCEPTIONS_FLAGS+=$(CFLAGS_NO_EXCEPTIONS)
1134 GLOBAL_EXCEPTIONS_FLAGS+=-DEXCEPTIONS_OFF
1135 .ENDIF
1136 # used if an object appears in the EXCEPTIONSFILES list
1137 # see also rules.mk
1138 LOCAL_EXCEPTIONS_FLAGS+=$(CFLAGSEXCEPTIONS)
1139 LOCAL_EXCEPTIONS_FLAGS+=-DEXCEPTIONS_ON
1141 .IF "$(ENABLE_GSTREAMER)" == "TRUE"
1142 CDEFS+=-DGSTREAMER
1143 .ENDIF
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"
1159 CDEFS+= $(CDEFSGUI)
1160 CFLAGSSLO+=$(CFLAGSSLOGUIMT)
1161 CDEFSSLO+=$(CDEFSSLOMT)
1162 LINKFLAGSAPP=$(LINKFLAGSAPPGUI)
1163 LINKFLAGSSHL=$(LINKFLAGSSHLGUI)
1164 STDOBJ=$(STDOBJGUI)
1165 STDSLO=$(STDSLOGUI)
1167 CDEFSOBJ+= $(CDEFSMT) $(CDEFSOBJMT)
1168 CFLAGSOBJ+=$(CFLAGSOBJGUIMT)
1169 STDLIB=$(STDLIBGUIMT)
1170 STDSHL=$(STDSHLGUIMT)
1172 .ENDIF
1174 # compose flags and defines for CUI
1175 .IF "$(TARGETTYPE)" == "CUI" || "$(TARGETTYPE)"=="cui"
1176 CDEFS+= $(CDEFSCUI)
1177 CFLAGSSLO+=$(CFLAGSSLOCUIMT)
1178 CDEFSSLO+=$(CDEFSSLOMT)
1179 LINKFLAGSAPP=$(LINKFLAGSAPPCUI)
1180 LINKFLAGSSHL=$(LINKFLAGSSHLCUI)
1181 STDOBJ=$(STDOBJCUI)
1182 STDSLO=$(STDSLOCUI)
1184 CDEFSOBJ+=$(CDEFSMT) $(CDEFSOBJMT)
1185 CFLAGSOBJ+=$(CFLAGSOBJCUIMT)
1186 STDLIB=$(STDLIBCUIMT)
1187 STDSHL=$(STDSHLCUIMT)
1189 .ENDIF
1191 .EXPORT : PICSWITCH
1193 .IF "$(USE_SYSTEM_STL)"=="YES"
1194 LIBSTLPORT=""
1195 .ENDIF
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)"!=""
1210 CDEFS+=$(JAVADEF)
1211 .ENDIF # "$(SOLAR_JAVA)"!=""
1212 .ELSE # "$(DISABLE_JAVA)"==""
1213 SOLAR_JAVA!:=
1214 .EXPORT : SOLAR_JAVA
1215 .IF "$(JDKPATH)"!=""
1216 environment_confusion:
1217 @echo ----------------------------------------------------------
1218 @echo -
1219 @echo - Error!
1220 @echo -
1221 @echo - $$JDKPATH and $$DISABLE_JAVA are set. this will lead
1222 @echo - to impropper results.
1223 @echo -
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
1240 .ENDIF
1241 .ENDIF
1243 CFLAGSWARNCXX *= $(CFLAGSWARNCC)
1244 CFLAGSWALLCXX *= $(CFLAGSWALLCC)
1245 CFLAGSWERRCXX *= $(CFLAGSWERRCC)
1247 .IF "$(ENVWARNFLAGS)"==""
1248 .IF "$(COMPILER_WARN_ALL)"==""
1249 CFLAGSCC+=$(CFLAGSWARNCC)
1250 CFLAGSCXX+=$(CFLAGSWARNCXX)
1251 .ELSE
1252 CFLAGSCC+=$(CFLAGSWALLCC)
1253 CFLAGSCXX+=$(CFLAGSWALLCXX)
1254 .ENDIF
1255 .IF "$(COMPILER_WARN_ERRORS)"!="" && "$(EXTERNAL_WARNINGS_NOT_ERRORS)"==""
1256 CFLAGSCC+=$(CFLAGSWERRCC)
1257 CFLAGSCXX+=$(CFLAGSWERRCXX)
1258 .ENDIF
1259 .ELSE # "$(ENVWARNFLAGS)"==""
1260 CFLAGSAPPEND+=$(ENVWARNFLAGS)
1261 .ENDIF # "$(ENVWARNFLAGS)"==""
1263 CDEFS+= $(ADDCDEFS)
1264 CDEFS+= $(ENVCDEFS)
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
1286 LINKC*=$(LINK)
1287 LINKCFLAGS*=$(LINKFLAGS)
1288 LINKFLAGS+=$(LINKFLAGSADD)
1289 LINKCFLAGS+=$(LINKFLAGSADD)
1291 #defaults for UCR HEADER
1292 UNOUCRBASE*=UCR
1293 UNOUCROUT*=$(OUT)$/inc$/$(TARGET)
1294 INCPRE+=-I$(UNOUCROUT)
1295 UNOUCRRDB*=$(SOLARBINDIR)$/types.rdb
1297 # location of trustedinfo.manifest for Windows Vista
1298 .IF "$(COM)"=="MSC"
1299 TRUSTED_MANIFEST_LOCATION*=$(SOLARENV)$/inc
1300 .ENDIF # "$(COM)"=="MSC"
1302 # --- Compiler -----------------------------------------------------
1303 .INCLUDE : rules.mk
1305 # --- include typelists --------------------------------------------
1307 .IF "$(COMP1TYPELIST)"!=""
1308 .INCLUDE .IGNORE : $(MISC)$/$(COMP1TYPELIST).mk
1309 $(COMP1TYPELIST)_XML2CMPTYPES:=$(shell @xml2cmp -types stdout $(MISC)$/$(COMP1TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1310 .ENDIF
1312 .IF "$(COMP2TYPELIST)"!=""
1313 .INCLUDE .IGNORE : $(MISC)$/$(COMP2TYPELIST).mk
1314 $(COMP2TYPELIST)_XML2CMPTYPES:=$(shell @xml2cmp -types stdout $(MISC)$/$(COMP2TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1315 .ENDIF
1317 .IF "$(COMP3TYPELIST)"!=""
1318 .INCLUDE .IGNORE : $(MISC)$/$(COMP3TYPELIST).mk
1319 $(COMP3TYPELIST)_XML2CMPTYPES:=$(shell @xml2cmp -types stdout $(MISC)$/$(COMP3TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1320 .ENDIF
1322 .IF "$(COMP4TYPELIST)"!=""
1323 .INCLUDE .IGNORE : $(MISC)$/$(COMP4TYPELIST).mk
1324 $(COMP4TYPELIST)_XML2CMPTYPES:=$(shell @xml2cmp -types stdout $(MISC)$/$(COMP4TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1325 .ENDIF
1327 .IF "$(COMP5TYPELIST)"!=""
1328 .INCLUDE .IGNORE : $(MISC)$/$(COMP5TYPELIST).mk
1329 $(COMP5TYPELIST)_XML2CMPTYPES:=$(shell @xml2cmp -types stdout $(MISC)$/$(COMP5TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1330 .ENDIF
1332 .IF "$(COMP6TYPELIST)"!=""
1333 .INCLUDE .IGNORE : $(MISC)$/$(COMP6TYPELIST).mk
1334 $(COMP6TYPELIST)_XML2CMPTYPES:=$(shell @xml2cmp -types stdout $(MISC)$/$(COMP6TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1335 .ENDIF
1337 .IF "$(COMP7TYPELIST)"!=""
1338 .INCLUDE .IGNORE : $(MISC)$/$(COMP7TYPELIST).mk
1339 $(COMP7TYPELIST)_XML2CMPTYPES:=$(shell @xml2cmp -types stdout $(MISC)$/$(COMP7TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1340 .ENDIF
1342 .IF "$(COMP8TYPELIST)"!=""
1343 .INCLUDE .IGNORE : $(MISC)$/$(COMP8TYPELIST).mk
1344 $(COMP8TYPELIST)_XML2CMPTYPES:=$(shell @xml2cmp -types stdout $(MISC)$/$(COMP8TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1345 .ENDIF
1347 .IF "$(COMP9TYPELIST)"!=""
1348 .INCLUDE .IGNORE : $(MISC)$/$(COMP9TYPELIST).mk
1349 $(COMP9TYPELIST)_XML2CMPTYPES:=$(shell @xml2cmp -types stdout $(MISC)$/$(COMP9TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1350 .ENDIF
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