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