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