1#************************************************************** 2# 3# Licensed to the Apache Software Foundation (ASF) under one 4# or more contributor license agreements. See the NOTICE file 5# distributed with this work for additional information 6# regarding copyright ownership. The ASF licenses this file 7# to you under the Apache License, Version 2.0 (the 8# "License"); you may not use this file except in compliance 9# with the License. You may obtain a copy of the License at 10# 11# http://www.apache.org/licenses/LICENSE-2.0 12# 13# Unless required by applicable law or agreed to in writing, 14# software distributed under the License is distributed on an 15# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16# KIND, either express or implied. See the License for the 17# specific language governing permissions and limitations 18# under the License. 19# 20#************************************************************** 21 22MKFILENAME:=SETTINGS.MK 23 24# smaller/greater arithmetic's like ".IF 400<=200" are an AOO extension to 25# the initial dmake 4.1PL0 (unfortunately called 4.10) version and are 26# tested implicitly by the construction below. 27.IF $(MAKEVERSION:s/-cvs//:s/.//)<=410 28.ERROR : ; @echo Forced error: dmake version 4.11 or newer is needed! 29force_dmake_to_error 30.ENDIF 31 32.INCLUDE .IGNORE : ooo_vendor.mk 33 34# --- common tool macros -------------------------------------- 35 36.IF "$(USE_PCH)"!="" 37ENABLE_PCH=TRUE 38.ENDIF # "$(USE_PCH)"!="" 39 40.INCLUDE : unitools.mk 41 42.INCLUDE : minor.mk 43 44.INCLUDE .IGNORE : rtlbootstrap.mk 45 46PLATFORMID = $(RTL_OS:l)_$(RTL_ARCH:l) 47EXTNAME*=$(EXTENSIONNAME)_in 48 49.IF "$(UPDATER)"!="" || "$(CWS_WORK_STAMP)"!="" 50 51.IF "$(SOURCEVERSION)"!="$(WORK_STAMP)" 52.ERROR : ; @echo Forced error: minor.mk in solenv/inc does not match your version! 53WRONG_SOURCEVERSION 54.ENDIF 55 56# Create $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/$(UPD)minor.mk if needed 57%minor.mk : $(SOLARENV)/inc/minor.mk 58 @@-$(MKDIRHIER) $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT) 59 @@$(COPY) $(SOLARENV)/inc/minor.mk $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/$(UPD)minor.mk 60 @@$(TOUCH) $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/minormkchanged.flg 61.ENDIF # "$(UPDATER)"!="" || "$(CWS_WORK_STAMP)"!="" 62 63# Force creation of $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/ 64# $(UPD)minor.mk could be empty as its contents were already included from minor.mk 65.INCLUDE : $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/$(UPD)minor.mk 66 67.IF "$(BSCLIENT)"=="TRUE" 68.IF "$(UPDATER)"!="YES" 69incorrect_settings: 70 @echo "#" 71 @echo "#" ERROR: setsolar option -bsclient used but UPDATER=YES not set! 72 @echo "#" 73 force_dmake_to_error 74.ENDIF 75.ENDIF 76 77.INCLUDE : udkversion.mk 78 79# --- reset defined Environments -------------------- 80ASM= 81AFLAGS= 82 83 84#START JAVA 85 86#interpreter location 87.IF "$(JAVAINTERPRETER)" == "" 88.IF "$(JDK)" == "J++" 89JAVAINTERPRETER=jview.exe 90.ELSE 91.IF "$(JDK)" == "SCAFE" 92.IF "$(JDK_VERSION)" != "" 93JAVAINTERPRETER=$(DEVROOT)/vcafe11/java/bin/java.exe 94.ELSE 95JAVAINTERPRETER=$(DEVROOT)/cafepro/java/bin/java.exe 96.ENDIF 97.ELSE 98.IF "$(JAVACISGCJ)" == "yes" 99JAVAINTERPRETER=gij 100.ELSE 101JAVAINTERPRETER=java 102.ENDIF 103.ENDIF 104.ENDIF 105.ENDIF 106 107#compiler location 108.IF "$(JAVACOMPILER)" == "" 109.IF "$(JDK)" == "J++" 110JAVACOMPILER=jvc.exe 111.ELSE 112.IF "$(JDK)" == "SCAFE" 113.IF "$(JDK_VERSION)" != "" 114JAVACOMPILER=$(DEVROOT)/vcafe11/bin/sj.exe 115.ELSE 116JAVACOMPILER=$(DEVROOT)/cafepro/bin/sj.exe 117.ENDIF 118.ELSE 119.IF "$(JAVACISGCJ)" == "yes" 120JAVACOMPILER=gcj 121.ELSE 122JAVACOMPILER=javac 123.ENDIF 124.ENDIF 125.ENDIF 126.ENDIF 127 128#if javadoc is not already set 129.IF "$(JAVADOC)"=="" 130JAVADOC=javadoc -J-Xmx120m 131.ENDIF 132 133#required arguments 134JAVAC=$(JAVACOMPILER) 135JAVAI:=$(JAVAINTERPRETER) 136.IF "$(JAVACISGCJ)" == "yes" 137JAVAC+=--encoding=UTF-8 -O2 -fno-assert -Wno-deprecated -C 138.ENDIF 139 140#classpath and response 141.IF "$(JDK)" == "J++" 142JAVACPS=/cp 143.ELSE 144.IF "$(JDK)" == "SCAFE" 145JAVACPS=-classpath 146JAVARESPONSE=TRUE 147.ELSE 148JAVACPS=-classpath 149JAVARESPONSE= 150.ENDIF 151.ENDIF 152 153# Tree-wide Java bytecode floor: compile all Java to a fixed source/target level 154# so artifacts run on the minimum supported JRE (Java 8) regardless of how new 155# the build JDK is. Without this, building on a modern JDK (e.g. 21) emits 156# bytecode that will not load on Java 8. gcj does not accept -source/-target, 157# so skip it there. Can be overridden by setting JAVA_TARGET_FLAG in the env. 158.IF "$(JAVA_TARGET_FLAG)"=="" 159.IF "$(JAVACISGCJ)"!="yes" 160JAVA_TARGET_FLAG=-source 1.8 -target 1.8 161.ENDIF # "$(JAVACISGCJ)"!="yes" 162.ENDIF # "$(JAVA_TARGET_FLAG)"=="" 163 164JAVAFLAGS+=$(JAVA_TARGET_FLAG) 165 166#END JAVA 167 168CDEFS= 169CXXDEFS= 170CDEFSCXX= 171CDEFSOBJ= 172CDEFSSLO= 173CDEFSGUI= 174CDEFSCUI= 175CDEFSMT= 176CDEFSPROF= 177CDEFSDEBUG= 178CDEFSDBGUTIL= 179CDEFSOPT= 180 181CFLAGS= 182CFLAGSCALL= 183CFLAGSCXX= 184CFLAGSCC= 185CFLAGSOBJ= 186CFLAGSSLO= 187CFLAGSOBJGUIMT= 188CFLAGSOBJCUIMT= 189CFLAGSSLOGUIMT= 190CFLAGSSLOCUIMT= 191CFLAGSPROF= 192CFLAGSDEBUG= 193CFLAGSDBGUTIL= 194CFLAGSOPT= 195CFLAGSNOOPT= 196CFLAGSOUTOBJ= 197 198CFLAGSINCXX= 199 200LINKFLAGS= 201LINKFLAGSAPPGUI= 202LINKFLAGSSHLGUI= 203LINKFLAGSAPPCUI= 204LINKFLAGSSHLCUI= 205LINKFLAGSTACK= 206LINKFLAGSPROF= 207LINKFLAGSDEBUG= 208LINKFLAGSOPT= 209LINKFLAGSAPP= 210LINKFLAGSSHL= 211LINKEXTENDLINE= 212 213STDOBJGUI= 214STDSLOGUI= 215STDOBJCUI= 216STDSLOCUI= 217STDLIBGUIMT= 218STDLIBCUIMT= 219STDSHLGUIMT= 220STDSHLCUIMT= 221STDOBJ= 222STDSLO= 223STDLIB= 224STDSHL= 225 226LIBFLAGS= 227 228IMPLIBMGR= 229IMPLIBFLAGS= 230 231MAPSYM= 232MAPSYMFLAGS= 233 234RSC= 235RSCFLAGS= 236RSCDEFS= 237RSCLANG= 238 239RC= 240RCFLAGS= 241RCLINK= 242RCLINKFLAGS= 243RCSETVERSION= 244 245DLLPOSTFIX= 246 247HC= 248HCFLAGS= 249 250MKDEP= 251 252AS= 253BC= 254COBOL= 255CPP= 256FOR= 257PASCAL= 258 259BFLAGS= 260COBFLAGS= 261CPPFLAGS= 262CXXFLAGS= 263FFLAGS= 264PFLAGS= 265RFLAGS= 266 267LNT= 268LNTFLAGS= 269LNTFLAGSGUI= 270LNTFLAGSCOM= 271 272# doesn't make sense 273#IDLSTATICOBJS= 274 275E2P= 276CAP= 277cap= 278 279# not to reset because possibly taken from environment 280#CC= 281#CXX= 282#LINK= 283#LIBMGR= 284 285 286# avoid confusion with CUE PROFILE variable... 287PROFILE= 288 289# can be set on the command line. we shouldn't delete them! 290#profile= 291 292# reset as setting those manually is no longer supported 293DBGUTIL= 294dbgutil= 295 296# =========================================================================== 297# unter NT werden Variablennamen an untergeordnete makefiles UPPERCASE 298# weitergereicht, aber case significant ausgewertet! 299# --------------------------------------------------------------------------- 300 301DMAKE_WORK_DIR*:=$(subst,/,/ $(PWD)) 302.IF "$(GUI)"=="WNT" 303posix_PWD:=/cygdrive/$(PWD:s/://) 304.ELIF "$(GUI)"=="OS2" 305# add /drives/ prefix, requires libc pathrewriter, otherwise breaks dmake % rule 306posix_PWD:=/drives/$(PWD:s/://) 307.ELSE #GUI)"=="WNT" 308posix_PWD:=$(PWD) 309.ENDIF #GUI)"=="WNT" 310 311 312.IF "$(TMP)"!="" 313tmp*=$(TMP) 314.ENDIF 315 316.IF "$(tmp)"!="" 317TMP*=$(tmp) 318.ENDIF 319 320.IF "$(TEMP)"!="" 321temp*=$(TEMP) 322.ENDIF 323 324.IF "$(temp)"!="" 325TEMP*=$(temp) 326.ENDIF 327 328.IF "$(DEPEND)"!="" 329depend=$(DEPEND) 330.ENDIF 331 332.IF "$(OPTIMIZE)"!="" 333optimize=$(OPTIMIZE) 334.ENDIF 335 336.IF "$(NOPT)"!="" 337nopt*=$(NOPT) 338.ENDIF 339 340.IF "$(GROUP)"!="" 341group*=$(GROUP) 342.ENDIF 343 344.IF "$(group)"!="" 345GROUP*=$(group) 346.ENDIF 347 348# override dbglevel if set manually 349.IF "$(dbglevel)"!="" 350DBG_LEVEL=$(dbglevel) 351.ENDIF 352 353.IF "$(NODEBUG)"!="" 354nodebug=$(NODEBUG) 355.ENDIF 356 357.IF "$(hbtoolkit)"!="" 358HBTOOLKIT=$(hbtoolkit) 359.ENDIF 360 361.IF "$(PRODUCT)"!="" 362product*=$(PRODUCT) 363.ENDIF 364 365.IF "$(product)"!="" 366PRODUCT*=$(product) 367.ENDIF 368 369.IF "$(VERBOSE)"!="" 370verbose*=$(VERBOSE) 371.ENDIF 372 373.IF "$(verbose)"!="" 374# normalize: "false" (any upper/lower case) and "0" mean FALSE, everything else means TRUE 375VERBOSE_IS_FALSE:=$(or $(eq,"$(verbose:u)","FALSE" "false" ) $(eq,"$(verbose)","0" "false" )) 376VERBOSE!:=$(eq,"$(VERBOSE_IS_FALSE)","t" FALSE TRUE) 377.ENDIF 378 379.IF "$(SOLARLANG)" != "" 380solarlang*=$(SOLARLANG) 381.ENDIF 382 383.IF "$(solarlang)" != "" 384SOLARLANG:=$(solarlang) 385.ENDIF 386 387.IF "$(wall)"!="" 388COMPILER_WARN_ALL=TRUE 389.ENDIF # "$(wall)"!="" 390 391.IF "$(werror)"!="" 392COMPILER_WARN_ERRORS=TRUE 393.ENDIF 394 395.IF "$(RSC_ONCE)"!="" 396rsc_once*=$(RSC_ONCE) 397.ENDIF 398 399#.IF "$(COMMON_BUILD)"!="" 400#common_build*=$(COMMON_BUILD) 401#.ENDIF 402common_build:= 403COMMON_BUILD:= 404 405.IF "$(USE_SHL_VERSIONS)"!="" 406use_shl_versions*=$(USE_SHL_VERSIONS) 407.ENDIF 408 409.IF "$(noremove)"!="" 410NOREMOVE*=$(noremove) 411.ENDIF 412 413# --- env flags not case sensitive -------------------------------- 414 415#.IF "$(envcflags)"!="" 416ENVCFLAGS*=$(envcflags) 417#.ENDIF 418 419#.IF "$(envcflagscxx)"!="" 420ENVCFLAGSCXX*=$(envcflagscxx) 421#.ENDIF 422 423 424.IF "$(envcdefs)"!="" 425ENVCDEFS*=$(envcdefs) 426.ENDIF 427 428.IF "$(envlibflags)"!="" 429ENVLIBFLAGS*=$(envlibflags) 430.ENDIF 431 432.IF "$(envcflagsincxx)"!="" 433ENVCFLAGSINCXX*=$(envcflagsincxx) 434.ENDIF 435 436.IF "$(envlinkflags)"!="" 437ENVLINKFLAGS*=$(envlinkflags) 438.ENDIF 439 440.IF "$(envrscflags)"!="" 441ENVRSCFLAGS*=$(envrscflags) 442.ENDIF 443 444.IF "$(envrscdefs)"!="" 445ENVRSCDEFS*=$(envrscdefs) 446.ENDIF 447 448.IF "$(envrsclinkflags)"!="" 449# ENVRSCLINKFLAGS*=$(envrsclinkflags) 450.ENDIF 451 452.IF "$(envrcflags)"!="" 453ENVRCFLAGS*=$(envrcflags) 454.ENDIF 455 456.IF "$(envrclinkflags)"!="" 457ENVRCLINKFLAGS*=$(envrclinkflags) 458.ENDIF 459 460# --- set both L10N variables to keep things working --------------- 461 462L10N-framework=$(L10N_framework) 463 464# --- Parameter Einstellungen überpruefen und umsetzen ------------ 465 466# profile immer mit product 467.IF "$(profile)"!="" 468.IF "$(product)"=="" 469product=full 470.ENDIF 471.ENDIF 472 473.IF "$(debug)"!="" 474DBG_LEVEL*=2 475.ENDIF 476 477# Produkt auf einen Wert setzen (alles klein) 478.IF "$(product)" != "" 479optimize=true 480.IF "$(product)" == "full" || "$(product)" == "Full" || "$(product)" == "FULL" 481product!=full 482.ENDIF 483.IF "$(product)" == "demo" || "$(product)" == "Demo" || "$(product)" == "DEMO" 484product!=demo 485.ENDIF 486.IF "$(product)" == "compact" || "$(product)" == "Compact" || "$(product)" == "COMPACT" 487product!=compact 488.ENDIF 489DBG_LEVEL*=0 490.ELSE 491optimize!=true 492dbgutil!=true 493DBG_LEVEL*=1 494USE_STLP_DEBUG*=TRUE 495.ENDIF 496 497.IF "$(debug)"!="" 498.IF "$(debug)"!="D_FORCE_OPT" 499optimize= 500OPTIMIZE= 501.ENDIF 502.ENDIF 503 504.IF "$(nopt)"!="" 505optimize= 506OPTIMIZE= 507.ENDIF 508 509# Optimierung bei FinalCheck funktioniert nicht! 510.IF "$(bndchk)" != "" 511optimize= 512OPTIMIZE= 513.ENDIF 514 515###################################################### 516# sprachabhängige Einstellungen 517###################################################### 518 519.INCLUDE : lang.mk 520 521.INCLUDE : postset.mk 522 523RSC_LANG_ISO+:=$(completelangiso) 524.EXPORT : RSC_LANG_ISO 525 526###################################################### 527 528.IF "$(TARGETTYPE)"=="" 529TARGETTYPE=CUI 530.ENDIF 531 532# --- Pfade setzen ------------------------------------------------- 533 534# Output-Pfad 535# profile has to be first for not getting the .pro extension 536.IF "$(profile)"!="" 537OUT=$(PRJ)/$(OUTPATH).cap 538ROUT=$(OUTPATH).cap 539.ELSE 540 541.IF "$(product)"!="" 542OUT=$(PRJ)/$(OUTPATH).pro 543ROUT=$(OUTPATH).pro 544 545.ELSE 546.IF "$(profile)"!="" 547OUT=$(PRJ)/$(OUTPATH).cap 548ROUT=$(OUTPATH).cap 549.ENDIF 550.IF "$(dbcs)"!="" 551OUT=$(PRJ)/$(OUTPATH).w 552ROUT=$(OUTPATH).w 553.ENDIF 554# could already be set by makefile.mk 555.IF "$(OUT)" == "" 556OUT*=$(PRJ)/$(OUTPATH) 557ROUT*=$(OUTPATH) 558.ENDIF 559.ENDIF 560.ENDIF 561 562.IF "$(bndchk)" != "" 563OUT:=$(PRJ)/$(OUTPATH).bnd 564ROUT=$(OUTPATH).bnd 565.ENDIF 566.IF "$(truetime)" != "" 567OUT=$(PRJ)/$(OUTPATH).tt 568ROUT=$(OUTPATH).tt 569.ENDIF 570.IF "$(hbtoolkit)"!="" 571OUT=$(PRJ)/$(OUTPATH).tlk 572ROUT=$(OUTPATH).tlk 573.ENDIF 574 575.IF "$(PRJ)"!="." 576.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2" 577PATH_IN_MODULE:=\ 578 $(subst,$(normpath $(shell @+cd $(PRJ) && pwd $(PWDFLAGS)))/, $(PWD)) 579.ELSE # "$(GUI)"=="WNT" 580PATH_IN_MODULE:=$(subst,$(shell @+cd $(PRJ) && pwd $(PWDFLAGS))/, $(PWD)) 581.ENDIF # "$(GUI)"=="WNT" 582.ELSE # "$(PRJ)"!="." 583PATH_IN_MODULE:= 584.ENDIF # "$(PRJ)"!="." 585 586## common output tree 587#.IF "$(common_build)"!="" 588#COMMON_OUTDIR*=common 589#.IF "$(no_common_build_reslib)"=="" 590#common_build_reslib=true 591#.ENDIF # "$(no_common_build_reslib)"=="" 592#.IF "$(no_common_build_zip)"=="" 593#common_build_zip=true 594#.ENDIF # "$(no_common_build_zip)"=="" 595#.IF "$(no_common_build_sign_jar)"=="" 596#common_build_sign_jar=true 597#.ENDIF # "$(no_common_build_sign_jar)"=="" 598#.IF "$(no_common_build_srs)"=="" 599#common_build_srs=true 600#.ENDIF # "$(no_common_build_srs)"=="" 601#.ELSE # "$(common_build)"!="" 602COMMON_OUTDIR:=$(OUTPATH) 603#.ENDIF # "$(common_build)"!="" 604 605LOCAL_OUT:=$(OUT) 606LOCAL_COMMON_OUT:=$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(OUT)) 607.EXPORT : LOCAL_OUT LOCAL_COMMON_OUT 608 609# --- generate output tree ----------------------------------------- 610 611# disable for makefiles wrapping a gnumake module 612.IF "$(TARGET)"!="prj" 613# As this is not part of the initial startup makefile we define an inferred 614# target instead of using $(OUT)/inc/myworld.mk as target name. 615# (See iz62795) 616$(posix_PWD)/$(OUT)/inc/%world.mk : 617 @$(MKOUT) $(ROUT) 618 @echo $(EMQ)# > $@ 619 620.INCLUDE : $(posix_PWD)/$(OUT)/inc/myworld.mk 621 622.IF "$(common_build)"!="" 623$(posix_PWD)/$(LOCAL_COMMON_OUT)/inc/%world.mk : 624 @$(MKOUT) $(subst,$(OUTPATH),$(COMMON_OUTDIR) $(ROUT)) 625 @echo $(EMQ)# > $@ 626 627.INCLUDE : $(posix_PWD)/$(LOCAL_COMMON_OUT)/inc/myworld.mk 628.ENDIF # "$(common_build)"!="" 629.ENDIF # "$(TARGET)"!="prj" 630 631.INCLUDE .IGNORE : office.mk 632 633# Misc Path 634.IF "$(UNR)"!="" 635MISCX=$(OUT)/umisc 636MISC=$(OUT)/umisc 637.ELSE 638MISC=$(OUT)/misc 639# pointing to misc in common output tree if exists 640COMMONMISC={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(MISC))} 641.ENDIF 642 643OUTCXX=$(OUT)/cxx 644 645.IF "$(PACKAGE)"!="" 646IDLPACKAGE:=$(PACKAGE) 647IDLPACKAGENAME:=$(IDLPACKAGE:sX\X/X) 648.ELSE 649IDLPACKAGE=$(PRJNAME) 650IDLPACKAGENAME=$(PRJNAME) 651.ENDIF 652 653# Object Path 654OBJ=$(OUT)/obj 655SLO=$(OUT)/slo 656ROBJ=$(ROUT)/obj 657RSLO=$(ROUT)/slo 658 659# Particle Path 660PAR=$(OUT)/par 661 662# Library-Pfad 663LB=$(OUT)/lib 664SLB=$(OUT)/slb 665 666# wir haben ein ucr Verzeichnis 667UCR=$(OUT)/ucr 668 669# $(L) nur noch Pfad ins solver\upd\...\lib 670#L:={$(LB);$(SLB);$(ILIB)} 671L=$(SOLARLIBDIR) 672 673#.EXPORT : SLB LB L LIB 674ENVPRJ:=$(PRJ) 675#todo: check PRJ is still expected to exist in environment 676.EXPORT : PRJ ENVPRJ 677 678# Class-Path for java-classes 679# obwohl der generierte Bytecode plattformunabhängig sein sollte 680# generieren wir ihn ersteinmal ins abhängige Verzeichnis 681CLASSDIR=$(OUT)/class 682CLASSPATH!:=.$(PATH_SEPERATOR)$(CLASSDIR)$(PATH_SEPERATOR)$(CLASSPATH) 683STARJAR=java -classpath $(CLASSPATH)$(PATH_SEPERATOR)$(SOLARENV)/bin/jtools.jar com.sun.star.tool.starjar.StarJar 684 685STARDEP=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/javadep 686.IF "$(PRJNAME)"=="sj2" 687CLASSPATH!:=$(CLASSPATH:s/sj2/no/) 688.ENDIF 689.IF "$(PRJNAME)"=="uno" 690CLASSPATH!:=$(CLASSPATH:s/uno/no/) 691.ENDIF 692.IF "$(PRJNAME)"=="tkt" 693CLASSPATH!:=$(CLASSPATH:s/tkt/no/) 694.ENDIF 695 696# default output directory when processing 697# configuration files 698PROCESSOUT*:=$(MISC) 699 700# Makros für die Librarynamen des Solar 701.INCLUDE : libs.mk 702 703.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2" 704VERSIONOBJ=$(SLO)/_version.obj 705.ENDIF 706 707.IF "$(GUI)"=="UNX" 708VERSIONOBJ=$(SLO)/_version.o 709.ENDIF 710 711.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2" 712WINVERSIONNAMES=$(UNIXVERSIONNAMES) 713.ENDIF # "$(GUI)"=="WNT" 714 715.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2" 716.IF "$(COM)"=="GCC" 717SHELLLIB=-lgdi32 -lshell32 -ladvapi32 -lcomdlg32 718.ELSE 719SHELLLIB=gdi32.lib shell32.lib advapi32.lib comdlg32.lib 720.ENDIF 721.ENDIF 722 723# BIN Path 724.IF "$(UNR)"!="" 725BIN=$(OUT)/ubin 726.ELSE 727BIN=$(OUT)/bin 728.ENDIF 729# pointing to misc in common output tree if exists 730COMMONBIN=$(LOCAL_COMMON_OUT)/bin 731 732# Include Path 733# still without -I here s.a. target.mk INCLUDE 734INC=$(PRJ)/inc 735INCPCH=$(PRJ)/inc/pch 736INCLOCAL=../inc 737INCGUI=$(PRJ)/$(GUIBASE)/inc 738INCCOM=$(OUT)/inc 739INCCOMX=$(OUT)/inc 740INCUNOIDL=$(INCCOM)/$(PRJNAME) 741INCDEPN=. $(INCGUI) $(INCLOCAL) $(INC) $(INC)/$(PRJNAME) 742.IF "$(PRJINC)"!="" 743INCLOCPRJ=$(foreach,i,$(PRJINC) $i/inc) 744INCDEPN+=$(INCLOCPRJ) 745.ENDIF 746.IF "$(INCPRE)"!="" 747INCDEPN+=$(INCPRE) 748.ENDIF 749 750# Resource-Pfad fuer .SRS 751 752.IF "$(common_build_srs)"!="" 753SRS=$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(OUT))/srs 754SRSX=$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(OUT))/srs 755.ELSE # "$(common_build_srs)"!="" 756SRS=$(OUT)/srs 757SRSX=$(OUT)/srs 758.ENDIF # "$(common_build_srs)"!="" 759 760# Resource-Pfad fuer .RC und .RES 761RES=$(OUT)/res 762 763# das normale MISC wird nicht an LDMISC angepasst, stattdessen MISCX 764 765.IF "$(make_xl)"!="" 766BIN=$(PRJ)/$(OUTPATH).xl/bin 767.ENDIF 768 769# damit gezielt Abhängigkeiten auf s: angegeben werden können 770 771.IF "$(common_build)"!="" 772SOLARIDLDIR=$(SOLARVERSION)/common$(PROEXT)/idl$(UPDMINOREXT) 773.ELSE 774SOLARIDLDIR=$(SOLARVERSION)/$(INPATH)/idl$(UPDMINOREXT) 775.ENDIF 776 777#.IF "$(UPDMINOR)" != "" 778#UPDMINOREXT=.$(UPDMINOR) 779#.ELSE 780#UPDMINOREXT= 781#.ENDIF 782SOLARRESDIR=$(SOLARVERSION)/$(INPATH)/res$(UPDMINOREXT) 783SOLARRESXDIR=$(SOLARVERSION)/$(INPATH)/res$(UPDMINOREXT) 784SOLARLIBDIR=$(SOLARVERSION)/$(INPATH)/lib$(UPDMINOREXT) 785SOLARJAVADIR=$(SOLARVERSION)/$(INPATH)/java$(UPDMINOREXT) 786SOLARINCDIR=$(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT) 787SOLARINCXDIR=$(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT) 788.IF "$(SOLARLANG)"!="deut" 789.IF "$(SOLARLANG)" != "" 790SOLARINCXDIR=$(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/$(SOLARLANG) 791SOLARRESXDIR=$(SOLARVERSION)/$(INPATH)/res$(UPDMINOREXT)/$(SOLARLANG) 792.ENDIF 793.ENDIF 794SOLARBINDIR:=$(SOLARVERSION)/$(INPATH)/bin$(UPDMINOREXT) 795SOLARUCRDIR=$(SOLARVERSION)/$(INPATH)/ucr$(UPDMINOREXT) 796SOLARPARDIR=$(SOLARVERSION)/$(INPATH)/par$(UPDMINOREXT) 797SOLARXMLDIR=$(SOLARVERSION)/$(INPATH)/xml$(UPDMINOREXT) 798SOLARDOCDIR=$(SOLARVERSION)/$(INPATH)/doc$(UPDMINOREXT) 799SOLARPCKDIR=$(SOLARVERSION)/$(INPATH)/pck$(UPDMINOREXT) 800SOLARSDFDIR=$(SOLARVERSION)/$(INPATH)/sdf$(UPDMINOREXT) 801SOLARCOMMONBINDIR=$(SOLARVERSION)/common$(PROEXT)/bin$(UPDMINOREXT) 802SOLARCOMMONRESDIR=$(SOLARVERSION)/common$(PROEXT)/res$(UPDMINOREXT) 803SOLARCOMMONPCKDIR=$(SOLARVERSION)/common$(PROEXT)/pck$(UPDMINOREXT) 804SOLARCOMMONSDFDIR=$(SOLARVERSION)/common$(PROEXT)/sdf$(UPDMINOREXT) 805.IF "$(common_build)"=="" 806SOLARCOMMONBINDIR=$(SOLARBINDIR) 807SOLARCOMMONRESDIR=$(SOLARRESDIR) 808SOLARCOMMONPCKDIR=$(SOLARPCKDIR) 809SOLARCOMMONSDFDIR=$(SOLARSDFDIR) 810.ENDIF 811 812.EXPORT : SOLARBINDIR 813 814L10N_MODULE*=$(SOURCE_ROOT_DIR)/extras/l10n 815ALT_L10N_MODULE*=$(SOLARSRC)$/l10n_so 816 817.IF "$(WITH_LANG)"!="" 818.INCLUDE .IGNORE: $(L10N_MODULE)/$(COMMON_OUTDIR)$(PROEXT)/inc/localization_present.mk 819.INCLUDE .IGNORE: $(ALT_L10N_MODULE)/$(COMMON_OUTDIR)$(PROEXT)/inc/localization_present.mk 820 821# check for localization not hosted in l10n module. if a file exists there 822# it won't in l10n 823.IF "$(ALT_LOCALIZATION_FOUND)"!="" 824TRYALTSDF:=$(ALT_L10N_MODULE)$/$(COMMON_OUTDIR)$(PROEXT)$/misc/sdf$/$(PRJNAME)$/$(PATH_IN_MODULE)$/localize.sdf 825LOCALIZESDF:=$(strip $(shell @+$(IFEXIST) $(TRYALTSDF) $(THEN) echo $(TRYALTSDF) $(FI))) 826.ENDIF # "$(ALT_LOCALIZATION_FOUND)"!="" 827# if the l10n module exists, use split localize.sdf directly from there 828.IF "$(LOCALIZATION_FOUND)"!="" && "$(LOCALIZESDF)"=="" 829# still check for existence as there may be no localization yet 830TRYSDF:=$(L10N_MODULE)$/$(COMMON_OUTDIR)$(PROEXT)$/misc/sdf$/$(PRJNAME)$/$(PATH_IN_MODULE)$/localize.sdf 831LOCALIZESDF:=$(strip $(shell @+$(IFEXIST) $(TRYSDF) $(THEN) echo $(TRYSDF) $(FI))) 832.ENDIF # "$(LOCALIZATION_FOUND)"!="" && "$(LOCALIZESDF)"=="" 833# else use localize.sdf from local output tree if localization .zip exists 834.IF "$(LOCALIZESDF)"=="" 835LOCALSDFFILE:=$(COMMONMISC)$/$(PRJNAME)$/$(PATH_IN_MODULE)$/localize.sdf 836LOCALIZESDF:=$(strip $(shell @+$(IFEXIST) $(SOLARCOMMONSDFDIR)$/$(PRJNAME).zip $(THEN) echo $(LOCALSDFFILE) $(FI))) 837.IF "$(LOCALIZESDF)"=="" 838LOCALSDFFILE!:= 839.ENDIF # "$(LOCALIZESDF)"=="" 840.ENDIF # "$(LOCALIZESDF)"=="" 841# dummy target to keep the build happy. 842.IF "$(LOCALIZESDF)"=="" 843LOCALIZESDF:=$(COMMONMISC)$/$(PRJNAME)$/dummy$/localize.sdf 844.ENDIF # "$(LOCALIZESDF)"=="" 845.ENDIF # "$(WITH_LANG)"!="" 846 847JARDIR=$(OUT)/class 848 849# needs to be expanded!!! 850 851# extend library path for MS Compiler 852.IF "$(COM)"=="MSC" 853LIB:=$(LB);$(SLB);$(ILIB) 854.ENDIF 855 856# extend library path for MinGW Compiler 857.IF "$(GUI)$(COM)"=="WNTGCC" 858LIB:=$(LB);$(BIN);$(ILIB) 859.ENDIF 860 861# --- Environment-Allgemein ---------------------------------------- 862 863.IF "$(CPUNAME)" == "" 864CPUNAME=CPUNAME_HAS_TO_BE_SET_IN_ENVIRONMENT 865.ENDIF 866 867.IF "$(USE_STLP_DEBUG)" != "" 868SCPCDEFS+=-D_STLP_DEBUG 869.ENDIF 870 871.IF "$(UDK_MAJOR)"!="" 872SCPDEFS+=-DUDK_MAJOR=$(UDK_MAJOR) 873.ENDIF # "$(UDK_MAJOR)"!="" 874 875SCPDEFS+=-U$(COMID) -DCOMID=$(COMID) -DCOMNAME=$(COMNAME) -D_$(COMID) 876SCPDEFS+=-DCCNUMVER=$(CCNUMVER) 877 878# The installer lists the CLI assemblies, and they only exist when the CLI 879# binding was built. configure sets DISABLE_CLI when the compiler cannot 880# build it; without this the .scp files still name the files and the build 881# stops at the very last module with "File not found: cli_uno.dll". 882.IF "$(DISABLE_CLI)"!="" 883SCPDEFS+=-DDISABLE_CLI 884.ENDIF 885# extend library path for OS/2 gcc/wlink 886.IF "$(GUI)"=="OS2" 887LIB:=$(LB);$(SLB);$(ILIB) 888.ENDIF 889 890 891UNOIDLDEFS+=-DSUPD=$(UPD) -DUPD=$(UPD) 892 893UNOIDLDEPFLAGS=-Mdepend=$(SOLARVER) 894 895UNOIDLINC+=-I. -I.. -I$(PRJ) -I$(PRJ)/inc -I$(PRJ)/$(INPATH)/idl -I$(OUT)/inc -I$(SOLARIDLDIR) -I$(SOLARINCDIR) 896 897CDEFS= -D$(OS) -D$(GUI) -D$(GVER) -D$(COM) -D$(CVER) -D$(ALIGN) -D$(CPUNAME) -DCPPU_ENV=$(COMNAME) 898 899.IF "$(USE_STLP_DEBUG)" != "" && "$(GUI)"!="OS2" 900CDEFS+=-D_STLP_DEBUG 901.ENDIF 902 903.IF "$(CDEFS_PRESET)" != "" 904CDEFS+=$(CDEFS_PRESET) 905.ENDIF 906 907.IF "$(TIMELOG)" != "" 908CDEFS+=-DTIMELOG 909.ENDIF 910 911# Required for correct Windows function call ABI for expat static library 912.IF "$(SYSTEM_EXPAT)"=="NO" 913CDEFS+=-DXML_STATIC 914.ENDIF 915 916CDEFSCXX= 917CDEFSOBJ= 918CDEFSSLO=-DSHAREDLIB -D_DLL_ 919CDEFSGUI=-DGUI 920CDEFSCUI=-DCUI 921#CDEFSMT=-DMULTITHREAD 922CDEFSPROF=-DPROFILE 923.IF "$(dbg_build_only)" == "" 924CDEFSDEBUG=-DDEBUG 925.ENDIF 926CDEFSDBGUTIL=-DDBG_UTIL 927CDEFSOPT=-DOPTIMIZE 928 929MKDEPFLAGS+=-I$(INCDEPN:s/ / -I/:s/-I-I/-I/) 930MKDEPALLINC=$(SOLARINC:s/-I/ -I/) 931MKDEPPREINC=-I$(PREPATH)/$(INPATH)/inc$(UPDMINOREXT) 932MKDEPSOLENV=-I$(SOLARENV)/inc -I$(SOLARENV)/$(GUI)$(CVER)$(COMEX)/inc 933MKDEPSOLVER=-I$(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT) -I$(SOLARVERSION)/$(INPATH)/inc 934MKDEPLOCAL=-I$(INCCOM) 935 936.IF "$(MKDEPENDALL)"!="" 937MKDEPFLAGS+=$(MKDEPALLINC) 938.ENDIF 939 940.IF "$(MKDEPENDSOLENV)"!="" 941MKDEPFLAGS+=$(MKDEPSOLENV) 942.ENDIF 943 944.IF "$(MKDEPENDPREPATH)"!="" 945MKDEPFLAGS+=$(MKDEPPREINC) 946.ENDIF 947 948.IF "$(MKDEPENDSOLVER)"!="" 949MKDEPFLAGS+=$(MKDEPSOLVER) 950.ENDIF 951# unused - nodep should do the same now 952#.IF "$(MKDEPENDLOCAL)"!="NO" 953MKDEPFLAGS+=$(MKDEPLOCAL) 954#.ENDIF 955 956BISON*=bison 957YACCFLAGS*=-d 958 959SVIDL=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/svidl 960 961LDUMP2*=$(SOLARBINDIR)/ldump4 962 963ZIPUPDATE=-u -j 964ZIPFLAGS=$(ZIPUPDATE) 965#hack for dynamic language subdirs 966LANGDIR=LANGDIR 967 968#scplinker flags 969SCPLINKFLAGS=-i $(PAR),$(SOLARPARDIR) 970.IF "$(SCPLINKVERSION)"!="" 971SCPLINKFLAGS+=-v $(SCPLINKVERSION) 972.ENDIF # "$(SCPLINKVERSION)"!="" 973 974.IF "$(make_srs_deps)"!="" 975RSC=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/rscdep 976.ELSE # "$(make_srs_deps)"!="" 977RSC=$(AUGMENT_LIBRARY_PATH) $(FLIPCMD) $(SOLARBINDIR)/rsc 978.ENDIF # "$(make_srs_deps)"!="" 979 980.IF "$(VERBOSE)" == "TRUE" 981 VERBOSITY=-verbose 982.ELSE 983 COMMAND_ECHO=@ 984 .IF "$(VERBOSE)" == "FALSE" 985 VERBOSITY=-quiet 986 ZIP_VERBOSITY=-q 987 .ENDIF 988.ENDIF # "$(VERBOSE)" == "TRUE" 989COMPILE_ECHO_SWITCH= 990COMPILE_ECHO_FILE=$(<:f) 991 992#new 993RSCUPDVER=$(RSCREVISION) 994RSCUPDVERDEF=-DUPDVER="$(RSCUPDVER)" 995 996RSCFLAGS=-s 997RSCDEFS=-D$(GUI) -D$(GVER) -D$(COM) -D$(CVER) $(JAVADEF) 998 999.IF "$(BUILD_SPECIAL)"!="" 1000RSCDEFS+=-DBUILD_SPECIAL=$(BUILD_SPECIAL) 1001.ENDIF 1002 1003RSCDEFIMG*=default_images 1004 1005RSCEXTINC=. 1006 1007.IF "$(DEBUG)" != "" 1008RSCDEFS+= -DDEBUG 1009.ENDIF 1010 1011# settings for mozilla idl compiler 1012XPIDL=xpidl 1013XPIDL_LINK=xpt_link 1014 1015# alle bisher verwendeten Linker benutzen + um LIBs auf der nächsten Zeile 1016# weiter zu schreiben, wenn es da eine Ausnahme geben sollte, muss 1017# LINKEXTENDLINE compilerabhängig definiert werden 1018LINKEXTENDLINE=+ 1019 1020LNT=$(DEVROOT)/lint/lint 1021#LNTFLAGS=+v -i$(DEVROOT)/lint\ -mL options.lnt -u 1022LNTFLAGS=+v -i$(DEVROOT)/lint/ -mL options.lnt -u 1023LNTFLAGSOUTOBJ=-os 1024 1025.IF "$(GUI)"=="WNT" 1026.INCLUDE : wnt.mk 1027.ENDIF 1028 1029.IF "$(GUI)" == "UNX" 1030.INCLUDE : unx.mk 1031.ENDIF 1032 1033.IF "$(GUI)" == "OS2" 1034.INCLUDE : os2.mk 1035.ENDIF 1036 1037.IF "$(OOO_LIBRARY_PATH_VAR)" != "" 1038# Add SOLARLIBDIR at the begin of a (potentially previously undefined) library 1039# path (LD_LIBRARY_PATH, PATH, etc.; prepending avoids fetching libraries from 1040# an existing office/URE installation; the ": &&" enables this to work at the 1041# start of a recipe line that is not prefixed by "+" as well as in the middle of 1042# an existing && chain: 1043AUGMENT_LIBRARY_PATH = : && \ 1044 $(OOO_LIBRARY_PATH_VAR)=$(normpath, $(SOLARSHAREDBIN))$${{$(OOO_LIBRARY_PATH_VAR):+:$${{$(OOO_LIBRARY_PATH_VAR)}}}} 1045AUGMENT_LIBRARY_PATH_LOCAL = : && \ 1046 $(OOO_LIBRARY_PATH_VAR)=$(normpath, $(PWD)/$(DLLDEST)):$(normpath, $(SOLARSHAREDBIN))$${{$(OOO_LIBRARY_PATH_VAR):+:$${{$(OOO_LIBRARY_PATH_VAR)}}}} 1047.END 1048 1049# remove if .Net 2003 support has expired 1050.IF "$(debug)"!="" 1051.IF "$(OS)$(COM)$(CPU)" == "WNTMSCI" 1052.IF "$(COMEX)" == "10" 1053.IF "$(SLOFILES)$(OBJFILES)$(DEPOBJFILES)"!="" 1054MAXPROCESS!:=1 1055.EXPORT : MAXPROCESS 1056.ENDIF # "$(SLOFILES)$(OBJFILES)$(DEPOBJFILES)"!="" 1057.ENDIF # "$(COMEX)" == "10" 1058.ENDIF # "$(OS)$(COM)$(CPU)" == "WNTMSCI" 1059.ENDIF # "$(debug)"!="" 1060 1061# for multiprocess building in external modules 1062# allow separate handling 1063EXTMAXPROCESS*=$(MAXPROCESS) 1064 1065IDLC*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/idlc 1066REGMERGE*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/regmerge 1067REGCOMPARE*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/regcompare 1068REGCOMP*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/regcomp 1069CPPUMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/cppumaker 1070JAVAMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/javamaker 1071RDBMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/rdbmaker 1072CLIMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/climaker 1073 1074HELPEX=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/helpex 1075LNGCONVEX=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/lngconvex 1076HELPLINKER=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/HelpLinker 1077 1078.IF "$(JAVAINTERPRETER)" == "" 1079JAVA*:=java 1080.ELSE 1081JAVA*:=$(JAVAINTERPRETER) 1082.ENDIF 1083.EXPORT : JAVA JAVAI 1084 1085# Define SCPCOMP without wrapper because pre2par.pl chokes on DOS style 1086# paths. (See iz57443) 1087SCPCOMP=$(PERL) $(SOLARENV)/bin/pre2par.pl 1088SCPLINK=$(PERL) $(SOLARENV)/bin/par2script.pl 1089LZIP*=lzip 1090CPPLCC*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/cpplcc 1091 1092.IF "$(SOLAR_JAVA)"=="TRUE" 1093.IF "$(USE_JAVAVER)"!="" 1094.INCLUDE : tg_javav.mk 1095.ENDIF "$(USE_JAVAVER)"!="" 1096.ENDIF # "$(SOLAR_JAVA)"=="TRUE" 1097 1098# --- extend new environment ---------------------------------- 1099CDEFS+= -DSUPD=$(UPD) 1100 1101# flags to enable build with symbols; required for crashdump feature 1102.IF ("$(ENABLE_CRASHDUMP)"!="" && "$(ENABLE_CRASHDUMP)"!="DUMMY") || "$(ENABLE_SYMBOLS)"!="" 1103CFLAGSENABLESYMBOLS_CC_ONLY*=$(CFLAGSENABLESYMBOLS) 1104CFLAGSCXX+=$(CFLAGSENABLESYMBOLS) 1105CFLAGSCC+=$(CFLAGSENABLESYMBOLS_CC_ONLY) 1106.ENDIF # ("$(ENABLE_CRASHDUMP)"!="" && "$(ENABLE_CRASHDUMP)"!="DUMMY") || "$(ENABLE_SYMBOLS)"!="" 1107 1108.IF "$(profile)"!="" 1109CDEFS+= $(CDEFSPROF) 1110CFLAGS+= $(CFLAGSPROF) 1111.IF "$(WST)"!="" 1112LINKFLAGS=$(LINKFLAGSWST) 1113LINKCFLAGS=$(LINKFLAGSWST) 1114.ELSE 1115LINKFLAGSADD+=$(LINKFLAGSPROF) 1116.ENDIF 1117.ENDIF 1118 1119.IF "$(debug)"!="" 1120JAVAFLAGS+=$(JAVAFLAGSDEBUG) 1121CDEFS+= $(CDEFSDEBUG) 1122CFLAGS+= $(CFLAGSDEBUG) 1123LINKFLAGSADD+= $(LINKFLAGSDEBUG) 1124.ENDIF 1125 1126.IF "$(dbgutil)"!="" 1127CDEFS+=$(CDEFSDBGUTIL) 1128CFLAGS+=$(CFLAGSDBGUTIL) 1129RSCDEFS+=-DDBG_UTIL 1130.ENDIF 1131 1132.IF "$(product)"!="" 1133CDEFS+= -DPRODUCT -DNDEBUG 1134RSCDEFS+= -DPRODUCT 1135RSCDEFS+= -DNDEBUG 1136.ENDIF 1137 1138.IF "$(DBG_LEVEL)"!="" 1139CDEFS+=-DOSL_DEBUG_LEVEL=$(DBG_LEVEL) 1140RSCDEFS+=-DOSL_DEBUG_LEVEL=$(DBG_LEVEL) 1141.ENDIF 1142 1143.IF "$(optimize)"!="" 1144CDEFS+=$(CDEFSOPT) 1145CFLAGS+=$(CFLAGSOPT) 1146LINKFLAGSADD+=$(LINKFLAGSOPT) 1147.ELSE 1148CFLAGS+=$(CFLAGSNOOPT) 1149.ENDIF 1150 1151.IF "$(ENABLE_EXCEPTIONS)"!="" 1152GLOBAL_EXCEPTIONS_FLAGS+=$(CFLAGSEXCEPTIONS) 1153GLOBAL_EXCEPTIONS_FLAGS+=-DEXCEPTIONS_ON 1154.ELSE 1155GLOBAL_EXCEPTIONS_FLAGS+=$(CFLAGS_NO_EXCEPTIONS) 1156GLOBAL_EXCEPTIONS_FLAGS+=-DEXCEPTIONS_OFF 1157.ENDIF 1158# used if an object appears in the EXCEPTIONSFILES list 1159# see also rules.mk 1160LOCAL_EXCEPTIONS_FLAGS+=$(CFLAGSEXCEPTIONS) 1161LOCAL_EXCEPTIONS_FLAGS+=-DEXCEPTIONS_ON 1162 1163.IF "$(ENABLE_LAYOUT)" == "TRUE" 1164CDEFS+=-DENABLE_LAYOUT=1 1165.ELSE # ENABLE_LAYOUT != TRUE 1166CFLAGS+=-DENABLE_LAYOUT=0 1167.ENDIF # ENABLE_LAYOUT != TRUE 1168 1169.IF "$(ENABLE_LAYOUT_EXPERIMENTAL)" == "TRUE" 1170CDEFS+=-DENABLE_LAYOUT_EXPERIMENTAL=1 1171.ELSE # ENABLE_LAYOUT_EXPERIMENTAL != TRUE 1172CFLAGS+=-DENABLE_LAYOUT_EXPERIMENTAL=0 1173.ENDIF # ENABLE_LAYOUT_EXPERIMENTAL != TRUE 1174 1175# compose flags and defines for GUI 1176.IF "$(TARGETTYPE)"=="GUI" 1177CDEFS+= $(CDEFSGUI) 1178CFLAGSSLO+=$(CFLAGSSLOGUIMT) 1179CDEFSSLO+=$(CDEFSSLOMT) 1180LINKFLAGSAPP=$(LINKFLAGSAPPGUI) 1181LINKFLAGSSHL=$(LINKFLAGSSHLGUI) 1182STDOBJ=$(STDOBJGUI) 1183STDSLO=$(STDSLOGUI) 1184 1185CDEFSOBJ+= $(CDEFSMT) $(CDEFSOBJMT) 1186CFLAGSOBJ+=$(CFLAGSOBJGUIMT) 1187STDLIB=$(STDLIBGUIMT) 1188STDSHL=$(STDSHLGUIMT) 1189 1190.ENDIF 1191 1192# compose flags and defines for CUI 1193.IF "$(TARGETTYPE)" == "CUI" || "$(TARGETTYPE)"=="cui" 1194CDEFS+= $(CDEFSCUI) 1195CFLAGSSLO+=$(CFLAGSSLOCUIMT) 1196CDEFSSLO+=$(CDEFSSLOMT) 1197LINKFLAGSAPP=$(LINKFLAGSAPPCUI) 1198LINKFLAGSSHL=$(LINKFLAGSSHLCUI) 1199STDOBJ=$(STDOBJCUI) 1200STDSLO=$(STDSLOCUI) 1201 1202CDEFSOBJ+=$(CDEFSMT) $(CDEFSOBJMT) 1203CFLAGSOBJ+=$(CFLAGSOBJCUIMT) 1204STDLIB=$(STDLIBCUIMT) 1205STDSHL=$(STDSHLCUIMT) 1206 1207.ENDIF 1208 1209.EXPORT : PICSWITCH 1210 1211.IF "$(USE_SYSTEM_STL)"=="YES" 1212.IF "$(GUI)"=="OS2" 1213LIBSTLPORT= 1214.ELSE 1215LIBSTLPORT="" 1216.ENDIF 1217.ENDIF 1218 1219.IF "$(NO_DEFAULT_STL)"=="" 1220STDLIB+=$(LIBSTLPORT) 1221STDSHL+=$(LIBSTLPORT) 1222.ENDIF # "$(NO_DEFAULT_STL)"=="" 1223 1224# fill up unresolved symbols not found else where 1225.IF "$(FILLUPARC)"!="" 1226STDLIB+=$(FILLUPARC) 1227STDSHL+=$(FILLUPARC) 1228.ENDIF # "$(FILUPARC)"!="" 1229 1230.IF "$(SOLAR_JAVA)"!="" 1231CDEFS+=$(JAVADEF) 1232.ENDIF # "$(SOLAR_JAVA)"!="" 1233 1234.INCLUDE .IGNORE: $(UPD)$(LAST_MINOR).mk 1235 1236# Once all modules on a given platform compile without warnings, the specific 1237# .mk file for that platform should set COMPILER_WARN_ERRORS=TRUE and no longer 1238# set MODULES_WITH_WARNINGS, and once no platform sets MODULES_WITH_WARNINGS any 1239# longer, this code can go away: 1240.IF "$(MODULES_WITH_WARNINGS)" != "" 1241MODULES_WITH_WARNINGS_1 := $(foreach,i,$(MODULES_WITH_WARNINGS) .$(i).) 1242MODULES_WITH_WARNINGS_2 := $(subst,.$(PRJNAME)., $(MODULES_WITH_WARNINGS_1)) 1243.IF "$(MODULES_WITH_WARNINGS_1)" == "$(MODULES_WITH_WARNINGS_2)" 1244COMPILER_WARN_ERRORS = TRUE 1245.ENDIF 1246.ENDIF 1247 1248CFLAGSWARNCXX *= $(CFLAGSWARNCC) 1249CFLAGSWALLCXX *= $(CFLAGSWALLCC) 1250CFLAGSWERRCXX *= $(CFLAGSWERRCC) 1251 1252.IF "$(ENVWARNFLAGS)"=="" 1253.IF "$(COMPILER_WARN_ALL)"=="" 1254CFLAGSCC+=$(CFLAGSWARNCC) 1255CFLAGSCXX+=$(CFLAGSWARNCXX) 1256.ELSE 1257CFLAGSCC+=$(CFLAGSWALLCC) 1258CFLAGSCXX+=$(CFLAGSWALLCXX) 1259.ENDIF 1260.IF "$(COMPILER_WARN_ERRORS)"!="" && "$(EXTERNAL_WARNINGS_NOT_ERRORS)"=="" 1261CFLAGSCC+=$(CFLAGSWERRCC) 1262CFLAGSCXX+=$(CFLAGSWERRCXX) 1263.ENDIF 1264.ELSE # "$(ENVWARNFLAGS)"=="" 1265CFLAGSAPPEND+=$(ENVWARNFLAGS) 1266.ENDIF # "$(ENVWARNFLAGS)"=="" 1267 1268CDEFS+= $(ADDCDEFS) 1269CDEFS+= $(ENVCDEFS) 1270CFLAGS+= $(CFLAGSCALL) $(ENVCFLAGS) 1271CFLAGSCXX+= $(ENVCFLAGSCXX) 1272# andersrum wg. -TPxxxx 1273CFLAGSINCXX+:=$(ENVCFLAGSINCXX) 1274LIBFLAGS+= $(ENVLIBFLAGS) 1275LINKFLAGSADD+= $(ENVLINKFLAGS) 1276RSCFLAGS+= $(ENVRSCFLAGS) 1277RSCDEFS+= $(ENVRSCDEFS) 1278# RSCLINKFLAGS+= $(ENVRSCLINKFLAGS) 1279RCFLAGS+= $(ENVRCFLAGS) 1280RCLINKFLAGS+= $(ENVRCLINKFLAGS) 1281 1282LINKFLAGSRUNPATH_URELIB*= 1283LINKFLAGSRUNPATH_UREBIN*= 1284LINKFLAGSRUNPATH_OOO*= 1285LINKFLAGSRUNPATH_SDK*= 1286LINKFLAGSRUNPATH_BRAND*= 1287LINKFLAGSRUNPATH_OXT*= 1288LINKFLAGSRUNPATH_BOXT*= 1289LINKFLAGSRUNPATH_NONE*= 1290 1291# make sure both linker variables are set 1292LINKC*=$(LINK) 1293LINKCFLAGS*=$(LINKFLAGS) 1294LINKFLAGS+=$(LINKFLAGSADD) 1295LINKCFLAGS+=$(LINKFLAGSADD) 1296 1297#defaults for UCR HEADER 1298UNOUCRBASE*=UCR 1299UNOUCROUT*=$(OUT)/inc/$(TARGET) 1300INCPRE+=-I$(UNOUCROUT) 1301UNOUCRRDB*=$(SOLARBINDIR)/types.rdb 1302 1303# location of trustedinfo.manifest for Windows Vista 1304.IF "$(COM)"=="MSC" 1305TRUSTED_MANIFEST_LOCATION*=$(SOLARENV)/inc 1306.ENDIF # "$(COM)"=="MSC" 1307 1308# --- Compiler ----------------------------------------------------- 1309.INCLUDE : rules.mk 1310 1311# --- include typelists -------------------------------------------- 1312 1313.IF "$(COMP1TYPELIST)"!="" 1314.INCLUDE .IGNORE : $(MISC)/$(COMP1TYPELIST).mk 1315$(COMP1TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP1TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml) 1316.ENDIF 1317 1318.IF "$(COMP2TYPELIST)"!="" 1319.INCLUDE .IGNORE : $(MISC)/$(COMP2TYPELIST).mk 1320$(COMP2TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP2TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml) 1321.ENDIF 1322 1323.IF "$(COMP3TYPELIST)"!="" 1324.INCLUDE .IGNORE : $(MISC)/$(COMP3TYPELIST).mk 1325$(COMP3TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP3TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml) 1326.ENDIF 1327 1328.IF "$(COMP4TYPELIST)"!="" 1329.INCLUDE .IGNORE : $(MISC)/$(COMP4TYPELIST).mk 1330$(COMP4TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP4TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml) 1331.ENDIF 1332 1333.IF "$(COMP5TYPELIST)"!="" 1334.INCLUDE .IGNORE : $(MISC)/$(COMP5TYPELIST).mk 1335$(COMP5TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP5TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml) 1336.ENDIF 1337 1338.IF "$(COMP6TYPELIST)"!="" 1339.INCLUDE .IGNORE : $(MISC)/$(COMP6TYPELIST).mk 1340$(COMP6TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP6TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml) 1341.ENDIF 1342 1343.IF "$(COMP7TYPELIST)"!="" 1344.INCLUDE .IGNORE : $(MISC)/$(COMP7TYPELIST).mk 1345$(COMP7TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP7TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml) 1346.ENDIF 1347 1348.IF "$(COMP8TYPELIST)"!="" 1349.INCLUDE .IGNORE : $(MISC)/$(COMP8TYPELIST).mk 1350$(COMP8TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP8TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml) 1351.ENDIF 1352 1353.IF "$(COMP9TYPELIST)"!="" 1354.INCLUDE .IGNORE : $(MISC)/$(COMP9TYPELIST).mk 1355$(COMP9TYPELIST)_XML2CMPTYPES:=$(shell @$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xml2cmp -types stdout $(MISC)/$(COMP9TYPELIST)$($(WINVERSIONNAMES)_MAJOR).xml) 1356.ENDIF 1357 1358# some place to define these jars for SO environment 1359XML_APIS_JAR*=$(SOLARBINDIR)/xml-apis.jar 1360XERCES_JAR*=$(SOLARBINDIR)/xercesImpl.jar 1361 1362COMPONENTPREFIX_URE_NATIVE = vnd.sun.star.expand:$$URE_INTERNAL_LIB_DIR/ 1363COMPONENTPREFIX_URE_JAVA = vnd.sun.star.expand:$$URE_INTERNAL_JAVA_DIR/ 1364#.IF "$(OS)" == "WNT" || "$(OS)" == "OS2" 1365#COMPONENTPREFIX_BASIS_NATIVE = vnd.sun.star.expand:$$OOO_BASE_DIR/program/ 1366#.ELSE 1367COMPONENTPREFIX_BASIS_NATIVE = vnd.sun.star.expand:$$OOO_BASE_DIR/program/ 1368#.END 1369COMPONENTPREFIX_BASIS_JAVA = vnd.sun.star.expand:$$OOO_BASE_DIR/program/classes/ 1370COMPONENTPREFIX_BASIS_PYTHON = vnd.openoffice.pymodule: 1371COMPONENTPREFIX_INBUILD_NATIVE = \ 1372 vnd.sun.star.expand:$$OOO_INBUILD_SHAREDLIB_DIR/ 1373COMPONENTPREFIX_INBUILD_JAVA = vnd.sun.star.expand:$$OOO_INBUILD_JAR_DIR/ 1374COMPONENTPREFIX_EXTENSION = ./ 1375 1376# workaround for strange dmake bug: 1377# if the previous block was a rule or a target, "\#" isn't recognized 1378# as an escaped "#". if it was an assignment, escaping works... 1379some_unique_variable_name:=1 1380