update dev300-m58
[ooovba.git] / solenv / inc / settings.mk
blob628d72142fca7b0397292fcca3b4768d84d23fae
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.214.30.8 $
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 # ===========================================================================
315 # unter NT werden Variablennamen an untergeordnete makefiles UPPERCASE
316 # weitergereicht, aber case significant ausgewertet!
317 # ---------------------------------------------------------------------------
319 DMAKE_WORK_DIR*:=$(subst,/,/ $(PWD))
321 .IF "$(TMP)"!=""
322 tmp*=$(TMP)
323 .ENDIF
325 .IF "$(tmp)"!=""
326 TMP*=$(tmp)
327 .ENDIF
329 .IF "$(TEMP)"!=""
330 temp*=$(TEMP)
331 .ENDIF
333 .IF "$(temp)"!=""
334 TEMP*=$(temp)
335 .ENDIF
337 .IF "$(DEPEND)"!=""
338 depend=$(DEPEND)
339 .ENDIF
341 .IF "$(OPTIMIZE)"!=""
342 optimize=$(OPTIMIZE)
343 .ENDIF
345 .IF "$(NOPT)"!=""
346 nopt*=$(NOPT)
347 .ENDIF
349 .IF "$(GROUP)"!=""
350 group*=$(GROUP)
351 .ENDIF
353 .IF "$(group)"!=""
354 GROUP*=$(group)
355 .ENDIF
357 # override dbglevel if set manually
358 .IF "$(dbglevel)"!=""
359 DBG_LEVEL=$(dbglevel)
360 .ENDIF
362 .IF "$(NODEBUG)"!=""
363 nodebug=$(NODEBUG)
364 .ENDIF
366 .IF "$(hbtoolkit)"!=""
367 HBTOOLKIT=$(hbtoolkit)
368 .ENDIF
370 .IF "$(PRODUCT)"!=""
371 product*=$(PRODUCT)
372 .ENDIF
374 .IF "$(product)"!=""
375 PRODUCT*=$(product)
376 .ENDIF
378 .IF "$(VERBOSE)"!=""
379 verbose*=$(VERBOSE)
380 .ENDIF
382 .IF "$(verbose)"!=""
383 VERBOSE*=$(verbose)
384 .ENDIF
386 .IF "$(SOLARLANG)" != ""
387 solarlang*=$(SOLARLANG)
388 .ENDIF
390 .IF "$(solarlang)" != ""
391 SOLARLANG:=$(solarlang)
392 .ENDIF
394 .IF "$(wall)"!=""
395 COMPILER_WARN_ALL=TRUE
396 .ENDIF # "$(wall)"!=""
398 .IF "$(werror)"!=""
399 COMPILER_WARN_ERRORS=TRUE
400 .ENDIF
402 .IF "$(RSC_ONCE)"!=""
403 rsc_once*=$(RSC_ONCE)
404 .ENDIF
406 .IF "$(COMMON_BUILD)"!=""
407 common_build*=$(COMMON_BUILD)
408 .ENDIF
410 .IF "$(USE_SHL_VERSIONS)"!=""
411 use_shl_versions*=$(USE_SHL_VERSIONS)
412 .ENDIF
414 .IF "$(noremove)"!=""
415 NOREMOVE*=$(noremove)
416 .ENDIF
418 # --- env flags not case sensitive --------------------------------
420 #.IF "$(envcflags)"!=""
421 ENVCFLAGS*=$(envcflags)
422 #.ENDIF
424 #.IF "$(envcflagscxx)"!=""
425 ENVCFLAGSCXX*=$(envcflagscxx)
426 #.ENDIF
429 .IF "$(envcdefs)"!=""
430 ENVCDEFS*=$(envcdefs)
431 .ENDIF
433 .IF "$(envlibflags)"!=""
434 ENVLIBFLAGS*=$(envlibflags)
435 .ENDIF
437 .IF "$(envcflagsincxx)"!=""
438 ENVCFLAGSINCXX*=$(envcflagsincxx)
439 .ENDIF
441 .IF "$(envlinkflags)"!=""
442 ENVLINKFLAGS*=$(envlinkflags)
443 .ENDIF
445 .IF "$(envrscflags)"!=""
446 ENVRSCFLAGS*=$(envrscflags)
447 .ENDIF
449 .IF "$(envrscdefs)"!=""
450 ENVRSCDEFS*=$(envrscdefs)
451 .ENDIF
453 .IF "$(envrsclinkflags)"!=""
454 # ENVRSCLINKFLAGS*=$(envrsclinkflags)
455 .ENDIF
457 .IF "$(envrcflags)"!=""
458 ENVRCFLAGS*=$(envrcflags)
459 .ENDIF
461 .IF "$(envrclinkflags)"!=""
462 ENVRCLINKFLAGS*=$(envrclinkflags)
463 .ENDIF
465 # --- set both L10N variables to keep things working ---------------
467 L10N-framework=$(L10N_framework)
469 # --- Parameter Einstellungen ueberpruefen und umsetzen ------------
471 # profile immer mit product
472 .IF "$(profile)"!=""
473 .IF "$(product)"==""
474 product=full
475 .ENDIF
476 .ENDIF
478 .IF "$(debug)"!=""
479 DBG_LEVEL*=2
480 .ENDIF
482 # Produkt auf einen Wert setzen (alles klein)
483 .IF "$(product)" != ""
484 optimize=true
485 .IF "$(product)" == "full" || "$(product)" == "Full" || "$(product)" == "FULL"
486 product!=full
487 .ENDIF
488 .IF "$(product)" == "demo" || "$(product)" == "Demo" || "$(product)" == "DEMO"
489 product!=demo
490 .ENDIF
491 .IF "$(product)" == "compact" || "$(product)" == "Compact" || "$(product)" == "COMPACT"
492 product!=compact
493 .ENDIF
494 DBG_LEVEL*=0
495 .ELSE
496 optimize!=true
497 dbgutil!=true
498 DBG_LEVEL*=1
499 USE_STLP_DEBUG=TRUE
500 .ENDIF
502 .IF "$(debug)"!=""
503 .IF "$(debug)"!="D_FORCE_OPT"
504 optimize=
505 OPTIMIZE=
506 .ENDIF
507 .ENDIF
509 .IF "$(nopt)"!=""
510 optimize=
511 OPTIMIZE=
512 .ENDIF
514 # Optimierung bei FinalCheck funktioniert nicht!
515 .IF "$(bndchk)" != ""
516 optimize=
517 OPTIMIZE=
518 .ENDIF
520 ######################################################
522 # sprachabh. einstellungen
524 ######################################################
526 .INCLUDE : lang.mk
528 .INCLUDE : postset.mk
530 RSC_LANG_ISO+:=$(completelangiso)
531 .EXPORT : RSC_LANG_ISO
533 ######################################################
535 .IF "$(TARGETTYPE)"==""
536 TARGETTYPE=CUI
537 .ENDIF
539 # --- Pfade setzen -------------------------------------------------
541 # Output-Pfad
542 # profile has to be first for not getting the .pro extension
543 .IF "$(profile)"!=""
544 OUT=$(PRJ)/$(OUTPATH).cap
545 ROUT=$(OUTPATH).cap
546 .ELSE
548 .IF "$(product)"!=""
549 OUT=$(PRJ)/$(OUTPATH).pro
550 ROUT=$(OUTPATH).pro
552 .ELSE
553 .IF "$(profile)"!=""
554 OUT=$(PRJ)/$(OUTPATH).cap
555 ROUT=$(OUTPATH).cap
556 .ENDIF
557 .IF "$(dbcs)"!=""
558 OUT=$(PRJ)/$(OUTPATH).w
559 ROUT=$(OUTPATH).w
560 .ENDIF
561 # could already be set by makefile.mk
562 .IF "$(OUT)" == ""
563 OUT*=$(PRJ)/$(OUTPATH)
564 ROUT*=$(OUTPATH)
565 .ENDIF
566 .ENDIF
567 .ENDIF
569 .IF "$(bndchk)" != ""
570 OUT:=$(PRJ)/$(OUTPATH).bnd
571 ROUT=$(OUTPATH).bnd
572 .ENDIF
573 .IF "$(truetime)" != ""
574 OUT=$(PRJ)/$(OUTPATH).tt
575 ROUT=$(OUTPATH).tt
576 .ENDIF
577 .IF "$(hbtoolkit)"!=""
578 OUT=$(PRJ)/$(OUTPATH).tlk
579 ROUT=$(OUTPATH).tlk
580 .ENDIF
582 .IF "$(PRJ)"!="."
583 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
584 PATH_IN_MODULE:=\
585 $(subst,$(normpath $(shell @+cd $(PRJ) && pwd $(PWDFLAGS)))/, $(PWD))
586 .ELSE # "$(GUI)"=="WNT"
587 PATH_IN_MODULE:=$(subst,$(shell @+cd $(PRJ) && pwd $(PWDFLAGS))/, $(PWD))
588 .ENDIF # "$(GUI)"=="WNT"
589 .ELSE # "$(PRJ)"!="."
590 PATH_IN_MODULE:=
591 .ENDIF # "$(PRJ)"!="."
593 # common output tree
594 .IF "$(common_build)"!=""
595 COMMON_OUTDIR*=common
596 .IF "$(no_common_build_reslib)"==""
597 common_build_reslib=true
598 .ENDIF # "$(no_common_build_reslib)"==""
599 .IF "$(no_common_build_zip)"==""
600 common_build_zip=true
601 .ENDIF # "$(no_common_build_zip)"==""
602 .IF "$(no_common_build_sign_jar)"==""
603 common_build_sign_jar=true
604 .ENDIF # "$(no_common_build_sign_jar)"==""
605 .IF "$(no_common_build_srs)"==""
606 common_build_srs=true
607 .ENDIF # "$(no_common_build_srs)"==""
608 .ELSE # "$(common_build)"!=""
609 COMMON_OUTDIR:=$(OUTPATH)
610 .ENDIF # "$(common_build)"!=""
612 LOCAL_OUT:=$(OUT)
613 LOCAL_COMMON_OUT:=$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(OUT))
614 .EXPORT : LOCAL_OUT LOCAL_COMMON_OUT
616 # --- generate output tree -----------------------------------------
618 # As this is not part of the initial startup makefile we define an infered
619 # target instead of using $(OUT)/inc/myworld.mk as target name.
620 # (See iz62795)
621 $(OUT)/inc/%world.mk :
622 @$(MKOUT) $(ROUT)
623 @echo $(EMQ)# > $@
625 # don't need/want output trees in solenv!!!
626 .IF "$(PRJNAME)"!="solenv"
627 .INCLUDE : $(OUT)/inc/myworld.mk
628 .ENDIF # "$(PRJNAME)"!="solenv"
630 .IF "$(common_build)"!=""
631 $(LOCAL_COMMON_OUT)/inc/%world.mk :
632 @$(MKOUT) $(subst,$(OUTPATH),$(COMMON_OUTDIR) $(ROUT))
633 @echo $(EMQ)# > $@
635 .IF "$(PRJNAME)"!="solenv"
636 .INCLUDE : $(LOCAL_COMMON_OUT)/inc/myworld.mk
637 .ENDIF # "$(PRJNAME)"!="solenv"
638 .ENDIF # "$(common_build)"!=""
640 .INCLUDE .IGNORE : office.mk
642 # Misc-Pfad
643 .IF "$(UNR)"!=""
644 MISCX=$(OUT)/umisc
645 MISC=$(OUT)/umisc
646 .ELSE
647 MISC=$(OUT)/misc
648 # pointing to misc in common output tree if exists
649 COMMONMISC={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(MISC))}
650 .ENDIF
652 L10N_MODULE*=l10n
653 ALT_L10N_MODULE*=l10n_so
655 .IF "$(WITH_LANG)"!=""
656 .INCLUDE .IGNORE: $(SOLARSRC)/$(L10N_MODULE)/localization_present.mk
657 .INCLUDE .IGNORE: $(SOLARSRC)/$(ALT_L10N_MODULE)/localization_present.mk
659 .IF "$(LOCALIZATION_FOUND)"!="" || "$(ALT_LOCALIZATION_FOUND)"!=""
660 TRYSDF:=$(SOLARSRC)/$(L10N_MODULE)/$(COMMON_OUTDIR)$(PROEXT)/misc/sdf/$(PRJNAME)/$(PATH_IN_MODULE)/localize.sdf
661 .IF "$(ALT_LOCALIZATION_FOUND)"!=""
662 TRYALTSDF:=$(SOLARSRC)/$(ALT_L10N_MODULE)/$(COMMON_OUTDIR)$(PROEXT)/misc/sdf/$(PRJNAME)/$(PATH_IN_MODULE)/localize.sdf
663 # TODO: check performance impact...
664 LOCALIZESDF:=$(strip $(shell @+$(IFEXIST) $(TRYALTSDF) $(THEN) echo $(TRYALTSDF) $(FI)))
665 .ENDIF # "$(ALT_LOCALIZATION_FOUND)"!=""
666 some_local_helper_var:=$(strip $(shell @+$(IFEXIST) $(TRYSDF) $(THEN) echo $(TRYSDF) $(FI) ))
667 LOCALIZESDF!:=$(eq,$(LOCALIZESDF),$(NULL) $(some_local_helper_var) $(LOCALIZESDF))
668 LOCALIZESDF!:=$(eq,$(LOCALIZESDF),$(NULL) $(COMMONMISC)/$(PRJNAME)/$(PATH_IN_MODULE)/localize.sdf $(LOCALIZESDF))
669 .ELSE # "$(LOCALIZATION_FOUND)"!="" || "$(ALT_LOCALIZATION_FOUND)"!=""
670 LOCALIZESDF:=$(COMMONMISC)/$(PRJNAME)/$(PATH_IN_MODULE)/localize.sdf
671 .ENDIF # "$(LOCALIZATION_FOUND)"!="" || "$(ALT_LOCALIZATION_FOUND)"!=""
672 .ENDIF # "$(WITH_LANG)"!=""
675 OUTCXX=$(OUT)/cxx
677 .IF "$(PACKAGE)"!=""
678 IDLPACKAGE:=$(PACKAGE)
679 IDLPACKAGENAME:=$(IDLPACKAGE:sX\X/X)
680 .ELSE
681 IDLPACKAGE=$(PRJNAME)
682 IDLPACKAGENAME=$(PRJNAME)
683 .ENDIF
685 # Objekt-Pfad
686 OBJ=$(OUT)/obj
687 SLO=$(OUT)/slo
688 ROBJ=$(ROUT)/obj
689 RSLO=$(ROUT)/slo
691 # Particle Path
692 PAR=$(OUT)/par
694 # Library-Pfad
695 LB=$(OUT)/lib
696 SLB=$(OUT)/slb
698 # wir haben ein ucr verzeichnis
699 UCR=$(OUT)/ucr
701 # $(L) nur noch pfad ins solver\upd\...\lib
702 #L:={$(LB);$(SLB);$(ILIB)}
703 L=$(SOLARLIBDIR)
705 #.EXPORT : SLB LB L LIB
706 ENVPRJ:=$(PRJ)
707 #todo: check PRJ is still expected to exist in environment
708 .EXPORT : PRJ ENVPRJ
710 # Class-Path for java-classes
711 # obwohl der generierte Bytecode plattformunabhg. sein sollte
712 # generieren wir ihn ersteinmal ins abhaengige Verzeichnis
713 CLASSDIR=$(OUT)/class
714 CLASSPATH!:=.$(PATH_SEPERATOR)$(CLASSDIR)$(PATH_SEPERATOR)$(CLASSPATH)
715 STARJAR=java -classpath $(CLASSPATH)$(PATH_SEPERATOR)$(SOLARENV)/bin/jtools.jar com.sun.star.tool.starjar.StarJar
717 STARDEP=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/javadep
718 .IF "$(PRJNAME)"=="sj2"
719 CLASSPATH!:=$(CLASSPATH:s/sj2/no/)
720 .ENDIF
721 .IF "$(PRJNAME)"=="uno"
722 CLASSPATH!:=$(CLASSPATH:s/uno/no/)
723 .ENDIF
724 .IF "$(PRJNAME)"=="tkt"
725 CLASSPATH!:=$(CLASSPATH:s/tkt/no/)
726 .ENDIF
728 # default output directory when processing
729 # configuration files
730 PROCESSOUT*:=$(MISC)
732 # Makros fuer die Librarynamen des Solar
733 .INCLUDE : libs.mk
735 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
736 VERSIONOBJ=$(SLO)/_version.obj
737 .ENDIF
739 .IF "$(GUI)"=="UNX"
740 VERSIONOBJ=$(SLO)/_version.o
741 .ENDIF
743 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
744 WINVERSIONNAMES=$(UNIXVERSIONNAMES)
745 .ENDIF # "$(GUI)"=="WNT"
747 .IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
748 .IF "$(COM)"=="GCC"
749 SHELLLIB=-lgdi32 -lshell32 -ladvapi32 -lcomdlg32
750 .ELSE
751 SHELLLIB=gdi32.lib shell32.lib advapi32.lib comdlg32.lib
752 .ENDIF
753 .ENDIF
755 # BIN-Pfad
756 .IF "$(UNR)"!=""
757 BIN=$(OUT)/ubin
758 .ELSE
759 BIN=$(OUT)/bin
760 .ENDIF
761 # pointing to misc in common output tree if exists
762 COMMONBIN=$(LOCAL_COMMON_OUT)/bin
764 # Include-Pfad
765 # still without -I here s.a. target.mk INCLUDE
766 INC=$(PRJ)/inc
767 INCPCH=$(PRJ)/inc/pch
768 INCLOCAL=../inc
769 INCGUI=$(PRJ)/$(GUIBASE)/inc
770 INCCOM=$(OUT)/inc
771 INCCOMX=$(OUT)/inc
772 INCUNOIDL=$(INCCOM)/$(PRJNAME)
773 INCDEPN=. $(INCGUI) $(INCLOCAL) $(INC) $(INC)/$(PRJNAME)
774 .IF "$(PRJINC)"!=""
775 INCLOCPRJ=$(foreach,i,$(PRJINC) $i/inc)
776 INCDEPN+=$(INCLOCPRJ)
777 .ENDIF
778 .IF "$(INCPRE)"!=""
779 INCDEPN+=$(INCPRE)
780 .ENDIF
782 # Resource-Pfad fuer .SRS
784 .IF "$(common_build_srs)"!=""
785 SRS=$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(OUT))/srs
786 SRSX=$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(OUT))/srs
787 .ELSE # "$(common_build_srs)"!=""
788 SRS=$(OUT)/srs
789 SRSX=$(OUT)/srs
790 .ENDIF # "$(common_build_srs)"!=""
792 # Resource-Pfad fuer .RC und .RES
793 RES=$(OUT)/res
796 # das normale MISC wird nicht an LDMISC angepasst, stattdessen MISCX
798 .IF "$(make_xl)"!=""
799 BIN=$(PRJ)/$(OUTPATH).xl/bin
800 .ENDIF
802 # damit gezielt Abhaengigkeiten auf s: angegeben werden koennen
804 .IF "$(common_build)"!=""
805 SOLARIDLDIR=$(SOLARVERSION)/common$(PROEXT)/idl$(EXT_UPDMINOR)
806 .ELSE
807 SOLARIDLDIR=$(SOLARVERSION)/$(INPATH)/idl$(EXT_UPDMINOR)
808 .ENDIF
810 .IF "$(UPDMINOR)" != ""
811 EXT_UPDMINOR=.$(UPDMINOR)
812 .ELSE
813 EXT_UPDMINOR=
814 .ENDIF
815 SOLARRESDIR=$(SOLARVERSION)/$(INPATH)/res$(EXT_UPDMINOR)
816 SOLARRESXDIR=$(SOLARVERSION)/$(INPATH)/res$(EXT_UPDMINOR)
817 SOLARLIBDIR=$(SOLARVERSION)/$(INPATH)/lib$(EXT_UPDMINOR)
818 SOLARJAVADIR=$(SOLARVERSION)/$(INPATH)/java$(EXT_UPDMINOR)
819 SOLARINCDIR=$(SOLARVERSION)/$(INPATH)/inc$(EXT_UPDMINOR)
820 SOLARINCXDIR=$(SOLARVERSION)/$(INPATH)/inc$(EXT_UPDMINOR)
821 .IF "$(SOLARLANG)"!="deut"
822 .IF "$(SOLARLANG)" != ""
823 SOLARINCXDIR=$(SOLARVERSION)/$(INPATH)/inc$(EXT_UPDMINOR)/$(SOLARLANG)
824 SOLARRESXDIR=$(SOLARVERSION)/$(INPATH)/res$(EXT_UPDMINOR)/$(SOLARLANG)
825 .ENDIF
826 .ENDIF
827 SOLARBINDIR:=$(SOLARVERSION)/$(INPATH)/bin$(EXT_UPDMINOR)
828 SOLARUCRDIR=$(SOLARVERSION)/$(INPATH)/ucr$(EXT_UPDMINOR)
829 SOLARPARDIR=$(SOLARVERSION)/$(INPATH)/par$(EXT_UPDMINOR)
830 SOLARXMLDIR=$(SOLARVERSION)/$(INPATH)/xml$(EXT_UPDMINOR)
831 SOLARDOCDIR=$(SOLARVERSION)/$(INPATH)/doc$(EXT_UPDMINOR)
832 SOLARPCKDIR=$(SOLARVERSION)/$(INPATH)/pck$(EXT_UPDMINOR)
833 SOLARSDFDIR=$(SOLARVERSION)/$(INPATH)/sdf$(EXT_UPDMINOR)
834 SOLARCOMMONBINDIR=$(SOLARVERSION)/common$(PROEXT)/bin$(EXT_UPDMINOR)
835 SOLARCOMMONRESDIR=$(SOLARVERSION)/common$(PROEXT)/res$(EXT_UPDMINOR)
836 SOLARCOMMONPCKDIR=$(SOLARVERSION)/common$(PROEXT)/pck$(EXT_UPDMINOR)
837 SOLARCOMMONSDFDIR=$(SOLARVERSION)/common$(PROEXT)/sdf$(EXT_UPDMINOR)
838 .IF "$(common_build)"==""
839 SOLARCOMMONBINDIR=$(SOLARBINDIR)
840 SOLARCOMMONRESDIR=$(SOLARRESDIR)
841 SOLARCOMMONPCKDIR=$(SOLARPCKDIR)
842 SOLARCOMMONSDFDIR=$(SOLARSDFDIR)
843 .ENDIF
845 .EXPORT : SOLARBINDIR
847 .IF "$(PRE)"==""
848 #JARDIR=$(CLASSDIR)
849 JARDIR=$(OUT)/class
850 .ELSE
851 JARDIR=$(PRE)/class
852 .ENDIF
854 # needs to be expanded!!!
856 # extend library path for MS Compiler
857 .IF "$(COM)"=="MSC"
858 LIB:=$(LB);$(SLB);$(ILIB)
859 .ENDIF
861 # extend library path for MinGW Compiler
862 .IF "$(GUI)$(COM)"=="WNTGCC"
863 LIB:=$(LB);$(BIN);$(ILIB)
864 .ENDIF
866 # --- Environment-Allgemein ----------------------------------------
868 .IF "$(CPUNAME)" == ""
869 CPUNAME=CPUNAME_HAS_TO_BE_SET_IN_ENVIRONMENT
870 .ENDIF
872 .IF "$(USE_STLP_DEBUG)" != ""
873 SCPCDEFS+=-D_STLP_DEBUG
874 .ENDIF
876 .IF "$(UDK_MAJOR)"!=""
877 SCPDEFS+=-DUDK_MAJOR=$(UDK_MAJOR)
878 .ENDIF # "$(UDK_MAJOR)"!=""
880 SCPDEFS+=-U$(COMID) -DCOMID=$(COMID) -DCOMNAME=$(COMNAME) -D_$(COMID)
881 SCPDEFS+=-DCCNUMVER=$(CCNUMVER)
882 .IF "$(COM)"=="GCC"
883 SCPDEFS+=-DSHORTSTDCPP3=$(SHORTSTDCPP3)
884 .ENDIF # "$(SHORTSTDCPP3)"!=""
885 # extend library path for OS/2 gcc/wlink
886 .IF "$(GUI)"=="OS2"
887 LIB:=$(LB);$(SLB);$(ILIB)
888 .ENDIF
891 UNOIDLDEFS+=-DSUPD=$(UPD) -DUPD=$(UPD)
893 UNOIDLDEPFLAGS=-Mdepend=$(SOLARVER)
895 .IF "$(PRE)"!=""
896 UNOIDLINC!:=-I$(PRE)/idl $(UNOIDLINC)
897 .ENDIF
898 UNOIDLINC+=-I. -I.. -I$(PRJ) -I$(PRJ)/inc -I$(PRJ)/$(INPATH)/idl -I$(OUT)/inc -I$(SOLARIDLDIR) -I$(SOLARINCDIR)
900 CDEFS= -D$(OS) -D$(GUI) -D$(GVER) -D$(COM) -D$(CVER) -D$(CPUNAME)
902 .IF "$(USE_STLP_DEBUG)" != "" && "$(GUI)"!="OS2"
903 CDEFS+=-D_STLP_DEBUG
904 .ENDIF
906 .IF "$(CDEFS_PRESET)" != ""
907 CDEFS+=$(CDEFS_PRESET)
908 .ENDIF
910 .IF "$(TIMELOG)" != ""
911 CDEFS+=-DTIMELOG
912 .ENDIF
914 .IF "$(GUI)"=="UNX"
915 CDEFS+=-DCVER=$(CVER)
916 .ENDIF
918 CDEFSCXX=
919 CDEFSOBJ=
920 CDEFSSLO=-DSHAREDLIB -D_DLL_
921 CDEFSGUI=-DGUI
922 CDEFSCUI=-DCUI
923 #CDEFSMT=-DMULTITHREAD
924 CDEFSPROF=-DPROFILE
925 .IF "$(dbg_build_only)" == ""
926 CDEFSDEBUG=-DDEBUG
927 .ENDIF
928 CDEFSDBGUTIL=-DDBG_UTIL
929 CDEFSOPT=-DOPTIMIZE
930 HDEFS=-D:$(GUI) -D:$(COM)
932 MKDEPFLAGS+=-I$(INCDEPN:s/ / -I/:s/-I-I/-I/)
933 MKDEPALLINC=$(SOLARINC:s/-I/ -I/)
934 MKDEPPREINC=-I$(PREPATH)/$(INPATH)/inc$(UPDMINOREXT)
935 MKDEPSOLENV=-I$(SOLARENV)/inc -I$(SOLARENV)/$(GUI)$(CVER)$(COMEX)/inc
936 MKDEPSOLVER=-I$(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT) -I$(SOLARVERSION)/$(INPATH)/inc
937 MKDEPLOCAL=-I$(INCCOM)
939 .IF "$(MKDEPENDALL)"!=""
940 MKDEPFLAGS+=$(MKDEPALLINC)
941 .ENDIF
943 .IF "$(MKDEPENDSOLENV)"!=""
944 MKDEPFLAGS+=$(MKDEPSOLENV)
945 .ENDIF
947 .IF "$(MKDEPENDPREPATH)"!=""
948 MKDEPFLAGS+=$(MKDEPPREINC)
949 .ENDIF
951 .IF "$(MKDEPENDSOLVER)"!=""
952 MKDEPFLAGS+=$(MKDEPSOLVER)
953 .ENDIF
954 # unused - nodep should do the same now
955 #.IF "$(MKDEPENDLOCAL)"!="NO"
956 MKDEPFLAGS+=$(MKDEPLOCAL)
957 #.ENDIF
959 BISON=bison
960 YACCFLAGS*=-d
962 SVIDL=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/svidl
964 LDUMP2*=$(SOLARBINDIR)/ldump4
966 ZIPUPDATE=-u -j
967 ZIPFLAGS=$(ZIPUPDATE)
968 #hack for dynamic language subdirs
969 LANGDIR=LANGDIR
971 #scplinker flags
972 SCPLINKFLAGS=-i $(PAR),$(SOLARPARDIR)
973 .IF "$(SCPLINKVERSION)"!=""
974 SCPLINKFLAGS+=-v $(SCPLINKVERSION)
975 .ENDIF # "$(SCPLINKVERSION)"!=""
977 .IF "$(make_srs_deps)"!=""
978 RSC=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/rscdep
979 .ELSE # "$(make_srs_deps)"!=""
980 RSC=$(AUGMENT_LIBRARY_PATH) $(FLIPCMD) $(SOLARBINDIR)/rsc
981 .ENDIF # "$(make_srs_deps)"!=""
983 #new
984 RSCUPDVER=$(RSCREVISION)
985 RSCUPDVERDEF=-DUPDVER="$(RSCUPDVER)"
987 RSCFLAGS=-s
988 RSCDEFS=-D$(GUI) -D$(GVER) -D$(COM) -D$(CVER) $(JAVADEF)
990 .IF "$(BUILD_SPECIAL)"!=""
991 RSCDEFS+=-DBUILD_SPECIAL=$(BUILD_SPECIAL)
992 .ENDIF
994 RSCDEFIMG*=default_images
996 RSCEXTINC=.
998 .IF "$(DEBUG)" != ""
999 RSCDEFS+= -DDEBUG
1000 .ENDIF
1002 # settings for mozilla idl compiler
1003 XPIDL=xpidl
1004 XPIDL_LINK=xpt_link
1006 # alle bisher verwendeten Linker benutzen + um LIBs auf der naechsten Zeile
1007 # weiter zu schreiben, wenn es da eine Ausnahme geben sollte, muss
1008 # LINKEXTENDLINE compilerabhaengig definiert werden
1009 LINKEXTENDLINE=+
1011 LNT=$(DEVROOT)/lint/lint
1012 #LNTFLAGS=+v -i$(DEVROOT)/lint\ -mL options.lnt -u
1013 LNTFLAGS=+v -i$(DEVROOT)/lint/ -mL options.lnt -u
1014 LNTFLAGSOUTOBJ=-os
1016 .IF "$(GUI)"=="WNT"
1017 .INCLUDE : wnt.mk
1018 .ENDIF
1020 .IF "$(GUI)" == "UNX"
1021 .INCLUDE : unx.mk
1022 .ENDIF
1024 .IF "$(GUI)" == "OS2"
1025 .INCLUDE : os2.mk
1026 .ENDIF
1028 # remove if .Net 2003 support has expired
1029 .IF "$(debug)"!=""
1030 .IF "$(OS)$(COM)$(CPU)" == "WNTMSCI"
1031 .IF "$(COMEX)" == "10"
1032 .IF "$(SLOFILES)$(OBJFILES)$(DEPOBJFILES)"!=""
1033 MAXPROCESS!:=1
1034 .EXPORT : MAXPROCESS
1035 .ENDIF # "$(SLOFILES)$(OBJFILES)$(DEPOBJFILES)"!=""
1036 .ENDIF # "$(COMEX)" == "10"
1037 .ENDIF # "$(OS)$(COM)$(CPU)" == "WNTMSCI"
1038 .ENDIF # "$(debug)"!=""
1040 # for multiprocess building in external modules
1041 # allow seperate handling
1042 EXTMAXPROCESS*=$(MAXPROCESS)
1044 IDLC*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/idlc
1045 REGMERGE*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/regmerge
1046 REGCOMPARE*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/regcompare
1047 REGCOMP*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/regcomp
1048 CPPUMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/cppumaker
1049 JAVAMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/javamaker
1050 RDBMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/rdbmaker
1051 CLIMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/climaker
1053 TESTSHL2=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/testshl2
1054 HELPEX=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/helpex
1055 LNGCONVEX=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/lngconvex
1056 HELPLINKER=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/HelpLinker
1058 .IF "$(JAVAINTERPRETER)" == ""
1059 JAVA*:=java
1060 .ELSE
1061 JAVA*:=$(JAVAINTERPRETER)
1062 .ENDIF
1063 .EXPORT : JAVA JAVAI
1065 # Define SCPCOMP without wrapper because pre2par.pl chokes on DOS style
1066 # pathes. (See iz57443)
1067 SCPCOMP=$(PERL) $(SOLARENV)/bin/pre2par.pl
1068 SCPLINK=$(PERL) $(SOLARENV)/bin/par2script.pl
1069 LZIP*=lzip
1070 CPPLCC*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/cpplcc
1072 .IF "$(DISABLE_ENHANCED_COMID)"==""
1073 .INCLUDE : tg_compv.mk
1074 .ELSE # "$(DISABLE_ENHANCED_COMID)"==""
1075 COMID=$(COM)
1076 .ENDIF # "$(DISABLE_ENHANCED_COMID)"==""
1077 .IF "$(SOLAR_JAVA)"=="TRUE"
1078 .IF "$(USE_JAVAVER)"!=""
1079 .INCLUDE : tg_javav.mk
1080 .ENDIF "$(USE_JAVAVER)"!=""
1081 .ENDIF # "$(SOLAR_JAVA)"=="TRUE"
1083 .IF "$(COM)"=="GCC"
1084 GXX_INCLUDE_PATH*:=$(COMPATH)/include/c++/$(CCVER)
1085 .EXPORT : GXX_INCLUDE_PATH
1086 CDEFS+= -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH)
1087 .ENDIF
1089 # --- extend new environment ----------------------------------
1090 CDEFS+= -DSUPD=$(UPD)
1092 # flags to enable build with symbols; required for crashdump feature
1093 .IF ("$(ENABLE_CRASHDUMP)"!="" && "$(ENABLE_CRASHDUMP)"!="DUMMY") || "$(ENABLE_SYMBOLS)"!=""
1094 CFLAGSENABLESYMBOLS_CC_ONLY*=$(CFLAGSENABLESYMBOLS)
1095 CFLAGSCXX+=$(CFLAGSENABLESYMBOLS)
1096 CFLAGSCC+=$(CFLAGSENABLESYMBOLS_CC_ONLY)
1097 .ENDIF # ("$(ENABLE_CRASHDUMP)"!="" && "$(ENABLE_CRASHDUMP)"!="DUMMY") || "$(ENABLE_SYMBOLS)"!=""
1099 .IF "$(profile)"!=""
1100 CDEFS+= $(CDEFSPROF)
1101 CFLAGS+= $(CFLAGSPROF)
1102 .IF "$(WST)"!=""
1103 LINKFLAGS=$(LINKFLAGSWST)
1104 LINKCFLAGS=$(LINKFLAGSWST)
1105 .ELSE
1106 LINKFLAGSADD+=$(LINKFLAGSPROF)
1107 .ENDIF
1108 .ENDIF
1110 .IF "$(debug)"!=""
1111 JAVAFLAGS+=$(JAVAFLAGSDEBUG)
1112 CDEFS+= $(CDEFSDEBUG)
1113 CFLAGS+= $(CFLAGSDEBUG)
1114 LINKFLAGSADD+= $(LINKFLAGSDEBUG)
1115 .ENDIF
1117 .IF "$(dbgutil)"!=""
1118 CDEFS+=$(CDEFSDBGUTIL)
1119 CFLAGS+=$(CFLAGSDBGUTIL)
1120 RSCDEFS+=-DDBG_UTIL
1121 .ENDIF
1123 .IF "$(product)"!=""
1124 CDEFS+= -DPRODUCT -DNDEBUG
1125 HDEFS+= -D:PRODUCT
1126 RSCDEFS+= -DPRODUCT
1127 CDEFS+=-DPRODUCT_FULL
1128 HDEFS+=-D:PRODUCT_FULL
1129 RSCDEFS+= -DPRODUCT_FULL -DNDEBUG
1130 .ENDIF
1132 .IF "$(DBG_LEVEL)"!=""
1133 CDEFS+=-DOSL_DEBUG_LEVEL=$(DBG_LEVEL)
1134 RSCDEFS+=-DOSL_DEBUG_LEVEL=$(DBG_LEVEL)
1135 .ENDIF
1137 .IF "$(optimize)"!=""
1138 CDEFS+=$(CDEFSOPT)
1139 CFLAGS+=$(CFLAGSOPT)
1140 LINKFLAGSADD+=$(LINKFLAGSOPT)
1141 .ELSE
1142 CFLAGS+=$(CFLAGSNOOPT)
1143 .ENDIF
1145 .IF "$(ENABLE_EXCEPTIONS)"!=""
1146 GLOBAL_EXCEPTIONS_FLAGS+=$(CFLAGSEXCEPTIONS)
1147 GLOBAL_EXCEPTIONS_FLAGS+=-DEXCEPTIONS_ON
1148 .ELSE
1149 GLOBAL_EXCEPTIONS_FLAGS+=$(CFLAGS_NO_EXCEPTIONS)
1150 GLOBAL_EXCEPTIONS_FLAGS+=-DEXCEPTIONS_OFF
1151 .ENDIF
1152 # used if an object appears in the EXCEPTIONSFILES list
1153 # see also rules.mk
1154 LOCAL_EXCEPTIONS_FLAGS+=$(CFLAGSEXCEPTIONS)
1155 LOCAL_EXCEPTIONS_FLAGS+=-DEXCEPTIONS_ON
1157 .IF "$(ENABLE_LAYOUT)" == "TRUE"
1158 CDEFS+=-DENABLE_LAYOUT=1
1159 .ELSE # ENABLE_LAYOUT != TRUE
1160 CFLAGS+=-DENABLE_LAYOUT=0
1161 .ENDIF # ENABLE_LAYOUT != TRUE
1163 .IF "$(ENABLE_LAYOUT_EXPERIMENTAL)" == "TRUE"
1164 CDEFS+=-DENABLE_LAYOUT_EXPERIMENTAL=1
1165 .ELSE # ENABLE_LAYOUT_EXPERIMENTAL != TRUE
1166 CFLAGS+=-DENABLE_LAYOUT_EXPERIMENTAL=0
1167 .ENDIF # ENABLE_LAYOUT_EXPERIMENTAL != TRUE
1169 .IF "$(ENABLE_GSTREAMER)" == "TRUE"
1170 CDEFS+=-DGSTREAMER
1171 .ENDIF
1173 # compose flags and defines for GUI
1174 .IF "$(TARGETTYPE)"=="GUI"
1175 CDEFS+= $(CDEFSGUI)
1176 CFLAGSSLO+=$(CFLAGSSLOGUIMT)
1177 CDEFSSLO+=$(CDEFSSLOMT)
1178 LINKFLAGSAPP=$(LINKFLAGSAPPGUI)
1179 LINKFLAGSSHL=$(LINKFLAGSSHLGUI)
1180 STDOBJ=$(STDOBJGUI)
1181 STDSLO=$(STDSLOGUI)
1183 CDEFSOBJ+= $(CDEFSMT) $(CDEFSOBJMT)
1184 CFLAGSOBJ+=$(CFLAGSOBJGUIMT)
1185 STDLIB=$(STDLIBGUIMT)
1186 STDSHL=$(STDSHLGUIMT)
1188 .ENDIF
1190 # compose flags and defines for CUI
1191 .IF "$(TARGETTYPE)" == "CUI" || "$(TARGETTYPE)"=="cui"
1192 CDEFS+= $(CDEFSCUI)
1193 CFLAGSSLO+=$(CFLAGSSLOCUIMT)
1194 CDEFSSLO+=$(CDEFSSLOMT)
1195 LINKFLAGSAPP=$(LINKFLAGSAPPCUI)
1196 LINKFLAGSSHL=$(LINKFLAGSSHLCUI)
1197 STDOBJ=$(STDOBJCUI)
1198 STDSLO=$(STDSLOCUI)
1200 CDEFSOBJ+=$(CDEFSMT) $(CDEFSOBJMT)
1201 CFLAGSOBJ+=$(CFLAGSOBJCUIMT)
1202 STDLIB=$(STDLIBCUIMT)
1203 STDSHL=$(STDSHLCUIMT)
1205 .ENDIF
1207 .EXPORT : PICSWITCH
1209 .IF "$(USE_SYSTEM_STL)"=="YES"
1210 LIBSTLPORT=""
1211 .ENDIF
1213 .IF "$(NO_DEFAULT_STL)"==""
1214 STDLIB+=$(LIBSTLPORT)
1215 STDSHL+=$(LIBSTLPORT)
1216 .ENDIF # "$(NO_DEFAULT_STL)"==""
1218 # fill up unresolved symbols not found else where
1219 .IF "$(FILLUPARC)"!=""
1220 STDLIB+=$(FILLUPARC)
1221 STDSHL+=$(FILLUPARC)
1222 .ENDIF # "$(FILUPARC)"!=""
1224 .IF "$(DISABLE_JAVA)"==""
1225 .IF "$(SOLAR_JAVA)"!=""
1226 CDEFS+=$(JAVADEF)
1227 .ENDIF # "$(SOLAR_JAVA)"!=""
1228 .ELSE # "$(DISABLE_JAVA)"==""
1229 SOLAR_JAVA!:=
1230 .EXPORT : SOLAR_JAVA
1231 .IF "$(JDKPATH)"!=""
1232 environment_confusion:
1233 @echo ----------------------------------------------------------
1234 @echo -
1235 @echo - Error!
1236 @echo -
1237 @echo - $$JDKPATH and $$DISABLE_JAVA are set. this will lead
1238 @echo - to impropper results.
1239 @echo -
1240 @echo ----------------------------------------------------------
1241 force_dmake_to_error
1242 .ENDIF # "$(JDKPATH)"!=""
1243 .ENDIF # "$(DISABLE_JAVA)"==""
1245 .INCLUDE .IGNORE: $(UPD)$(LAST_MINOR).mk
1247 # Once all modules on a given platform compile without warnings, the specific
1248 # .mk file for that platform should set COMPILER_WARN_ERRORS=TRUE and no longer
1249 # set MODULES_WITH_WARNINGS, and once no platform sets MODULES_WITH_WARNINGS any
1250 # longer, this code can go away:
1251 .IF "$(MODULES_WITH_WARNINGS)" != ""
1252 MODULES_WITH_WARNINGS_1 := $(foreach,i,$(MODULES_WITH_WARNINGS) .$(i).)
1253 MODULES_WITH_WARNINGS_2 := $(subst,.$(PRJNAME)., $(MODULES_WITH_WARNINGS_1))
1254 .IF "$(MODULES_WITH_WARNINGS_1)" == "$(MODULES_WITH_WARNINGS_2)"
1255 COMPILER_WARN_ERRORS = TRUE
1256 .ENDIF
1257 .ENDIF
1259 CFLAGSWARNCXX *= $(CFLAGSWARNCC)
1260 CFLAGSWALLCXX *= $(CFLAGSWALLCC)
1261 CFLAGSWERRCXX *= $(CFLAGSWERRCC)
1263 .IF "$(ENVWARNFLAGS)"==""
1264 .IF "$(COMPILER_WARN_ALL)"==""
1265 CFLAGSCC+=$(CFLAGSWARNCC)
1266 CFLAGSCXX+=$(CFLAGSWARNCXX)
1267 .ELSE
1268 CFLAGSCC+=$(CFLAGSWALLCC)
1269 CFLAGSCXX+=$(CFLAGSWALLCXX)
1270 .ENDIF
1271 .IF "$(COMPILER_WARN_ERRORS)"!="" && "$(EXTERNAL_WARNINGS_NOT_ERRORS)"==""
1272 CFLAGSCC+=$(CFLAGSWERRCC)
1273 CFLAGSCXX+=$(CFLAGSWERRCXX)
1274 .ENDIF
1275 .ELSE # "$(ENVWARNFLAGS)"==""
1276 CFLAGSAPPEND+=$(ENVWARNFLAGS)
1277 .ENDIF # "$(ENVWARNFLAGS)"==""
1279 CDEFS+= $(ADDCDEFS)
1280 CDEFS+= $(ENVCDEFS)
1281 CFLAGS+= $(CFLAGSCALL) $(ENVCFLAGS)
1282 CFLAGSCXX+= $(ENVCFLAGSCXX)
1283 # andersrum wg. -TPxxxx
1284 CFLAGSINCXX+:=$(ENVCFLAGSINCXX)
1285 LIBFLAGS+= $(ENVLIBFLAGS)
1286 LINKFLAGSADD+= $(ENVLINKFLAGS)
1287 RSCFLAGS+= $(ENVRSCFLAGS)
1288 RSCDEFS+= $(ENVRSCDEFS)
1289 # RSCLINKFLAGS+= $(ENVRSCLINKFLAGS)
1290 RCFLAGS+= $(ENVRCFLAGS)
1291 RCLINKFLAGS+= $(ENVRCLINKFLAGS)
1293 LINKFLAGSRUNPATH_URELIB*=
1294 LINKFLAGSRUNPATH_UREBIN*=
1295 LINKFLAGSRUNPATH_OOO*=
1296 LINKFLAGSRUNPATH_SDK*=
1297 LINKFLAGSRUNPATH_BRAND*=
1298 LINKFLAGSRUNPATH_OXT*=
1299 LINKFLAGSRUNPATH_NONE*=
1301 # make sure both linker variables are set
1302 LINKC*=$(LINK)
1303 LINKCFLAGS*=$(LINKFLAGS)
1304 LINKFLAGS+=$(LINKFLAGSADD)
1305 LINKCFLAGS+=$(LINKFLAGSADD)
1307 #defaults for UCR HEADER
1308 UNOUCRBASE*=UCR
1309 UNOUCROUT*=$(OUT)/inc/$(TARGET)
1310 INCPRE+=-I$(UNOUCROUT)
1311 UNOUCRRDB*=$(SOLARBINDIR)/types.rdb
1313 # location of trustedinfo.manifest for Windows Vista
1314 .IF "$(COM)"=="MSC"
1315 TRUSTED_MANIFEST_LOCATION*=$(SOLARENV)/inc
1316 .ENDIF # "$(COM)"=="MSC"
1318 # --- Compiler -----------------------------------------------------
1319 .INCLUDE : rules.mk
1321 # --- include typelists --------------------------------------------
1323 .IF "$(COMP1TYPELIST)"!=""
1324 .INCLUDE .IGNORE : $(MISC)/$(COMP1TYPELIST).mk
1325 $(COMP1TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP1TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1326 .ENDIF
1328 .IF "$(COMP2TYPELIST)"!=""
1329 .INCLUDE .IGNORE : $(MISC)/$(COMP2TYPELIST).mk
1330 $(COMP2TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP2TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1331 .ENDIF
1333 .IF "$(COMP3TYPELIST)"!=""
1334 .INCLUDE .IGNORE : $(MISC)/$(COMP3TYPELIST).mk
1335 $(COMP3TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP3TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1336 .ENDIF
1338 .IF "$(COMP4TYPELIST)"!=""
1339 .INCLUDE .IGNORE : $(MISC)/$(COMP4TYPELIST).mk
1340 $(COMP4TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP4TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1341 .ENDIF
1343 .IF "$(COMP5TYPELIST)"!=""
1344 .INCLUDE .IGNORE : $(MISC)/$(COMP5TYPELIST).mk
1345 $(COMP5TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP5TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1346 .ENDIF
1348 .IF "$(COMP6TYPELIST)"!=""
1349 .INCLUDE .IGNORE : $(MISC)/$(COMP6TYPELIST).mk
1350 $(COMP6TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP6TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1351 .ENDIF
1353 .IF "$(COMP7TYPELIST)"!=""
1354 .INCLUDE .IGNORE : $(MISC)/$(COMP7TYPELIST).mk
1355 $(COMP7TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP7TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1356 .ENDIF
1358 .IF "$(COMP8TYPELIST)"!=""
1359 .INCLUDE .IGNORE : $(MISC)/$(COMP8TYPELIST).mk
1360 $(COMP8TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP8TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1361 .ENDIF
1363 .IF "$(COMP9TYPELIST)"!=""
1364 .INCLUDE .IGNORE : $(MISC)/$(COMP9TYPELIST).mk
1365 $(COMP9TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP9TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml)
1366 .ENDIF
1368 # some place to define these jars for SO environment
1369 XML_APIS_JAR*=$(SOLARBINDIR)/xml-apis.jar
1370 XERCES_JAR*=$(SOLARBINDIR)/xercesImpl.jar
1372 # workaround for strange dmake bug:
1373 # if the previous block was a rule or a target, "\#" isn't recognized
1374 # as an escaped "#". if it was an assignment, escaping works...
1375 some_unique_variable_name:=1