blob: e7b926763c4137eeb81a96558596ba47d203d1d2 [file] [log] [blame]
# *************************************************************
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# *************************************************************
# This is the root DMAKE startup file.
#
# Definitions common to all environments are given at the root.
# Definitions parameterized at the root have their parameters specified
# in sub-makefiles which are included based on the values of the three
# make variables:
#
# OS - core operating system flavour
#
# See the file 'summary', found in this directory for a list of
# environments supported by this release.
# Disable warnings for macros given on the command line but redefined here.
__.silent !:= $(.SILENT) # Preserve user's .SILENT flag
.SILENT !:= yes
.NOTABS !:= yes
.ERROR :
@echo '---* $(MKFILENAME) *---'
# Define the directory separator string.
/ *= $(DIRSEPSTR)
.IMPORT .IGNORE : .EVERYTHING
.IF "$(TNR)" == ""
CALLMACROS:=$(MAKEMACROS)
.EXPORT : CALLMACROS
CALLTARGETS=$(MAKETARGETS)
.ENDIF # "$(TNR)" == ""
.INCLUDEDIRS : $(DMAKE_INC) $(SOLARVERSION)$/$(INPATH)$/inc$(UPDMINOREXT) $(SOLARENV)$/inc
# Grab key definitions from the environment
# .IMPORT .IGNORE : OS TMPDIR UPD INPATH OUTPATH GUI COM EX CLASSPATH PRODUCT GUIBASE SOLARENV SOLARVER GUIENV CPU CPUNAME CVER GVER COMPATH LIB INCLUDE TR SORT UNIQ ROOTDIR SED AWK TOUCH IENV ILIB PRODUCT_ENV COMEX UPD BUILD DEVROOT VCL SO3 ENVCFLAGS
.IF "$(OS)" == "" || "$(OS)" == "Windows_NT"
.ERROR : ; @echo Forced error: Environment variable OS has to be set for OOo build!
OS_variable_needed
.ENDIF
# Customize macro definitions based on seting of OS.
# This must come before the default macro definitions which follow.
.IF "$(OS)" == "OS2"
.INCLUDE: $(INCFILENAME:d)OS2/macros.mk
.ELIF "$(OS)" == "WNT"
.INCLUDE: $(INCFILENAME:d)wnt/macros.mk
.END
# ----------------- Default Control Macro definitions -----------------------
# Select appropriate defaults for basic macros
MAKE *= $(MAKECMD) $(MFLAGS)
TMPDIR *:= $/tmp
DIVFILE *= $(TMPFILE)
MAXLINELENGTH = 65530
# Recipe execution configuration
SHELL := $(OOO_SHELL)
SHELLFLAGS := -c
SHELLMETAS := !"\#$$%&'()*;<=>?[\]`{{|}}~
# the colon (":") utility is typically only available as a shell built-in,
# so it should be included in SHELLMETAS; however, this would result in very
# many false positives on Windows where ":" is used in drive letter notation
GROUPSHELL := $(SHELL)
GROUPFLAGS :=
GROUPSUFFIX :=
# Intermediate target removal configuration
RM *:= rm
RMFLAGS *= -f
RMTARGET *= $<
# Default recipe that is used to remove intermediate targets.
.REMOVE :; #echo dummy remove #$(RM) $(RMFLAGS) $(RMTARGET)
#.REMOVE :; echo $(RM) $(RMFLAGS) $(RMTARGET)
# Directory caching configuration.
.DIRCACHE *:= yes
.DIRCACHERESPCASE *:= yes
# Define the special NULL Prerequisite
NULLPRQ *:= __.NULLPRQ
# Primary suffixes in common use
E *:= # Executables
# Other Compilers, Tools and their flags
MV *:= mv # File rename command
# Finally, define the default construction strategy
.ROOT .PHONY .NOSTATE .SEQUENTIAL :- .INIT .TARGETS .DONE;
.INIT .DONE .PHONY: $(NULLPRQ);
# Define the NULL Prerequisite as having no recipe.
$(NULLPRQ) .PHONY :;
# Reset warnings back to previous setting.
.SILENT !:= $(__.silent)
# Check for a Local project file, gets parsed before user makefile.
.INCLUDE .IGNORE .NOINFER: "project.mk"
.MAKEFILES :- makefile.mk MAKEFILE.MK $(CONFIG_PROJECT)$/makefile.rc $(SOLARENV)$/inc$/found_no.mk
LANG=C
.EXPORT : LANG