summaryrefslogtreecommitdiff
path: root/solenv/inc/startup
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/inc/startup')
-rw-r--r--solenv/inc/startup/OS2/macros.mk30
-rw-r--r--solenv/inc/startup/Readme6
-rw-r--r--solenv/inc/startup/startup.mk109
-rw-r--r--solenv/inc/startup/summary3
-rw-r--r--solenv/inc/startup/wnt/macros.mk32
5 files changed, 180 insertions, 0 deletions
diff --git a/solenv/inc/startup/OS2/macros.mk b/solenv/inc/startup/OS2/macros.mk
new file mode 100644
index 000000000000..2f1447e6e714
--- /dev/null
+++ b/solenv/inc/startup/OS2/macros.mk
@@ -0,0 +1,30 @@
+# Define additional OS/2 specific macros.
+#
+
+# Process release-specific refinements, if any.
+# YD .INCLUDE .NOINFER .IGNORE : $(INCFILENAME:d)$(OSRELEASE)$/macros.mk
+
+# Directory entries are case incensitive
+.DIRCACHERESPCASE *:= no
+
+# tmp is already imported - use it!
+TMPDIR *= $(TMP)
+
+# Applicable suffix definitions
+A *:= .lib # Libraries
+E *:= .exe # Executables
+F *:= .for # Fortran
+O *:= .obj # Objects
+P *:= .pas # Pascal
+S *:= .asm # Assembler sources
+V *:= # RCS suffix
+
+.MKSARGS *:= yes
+RM *= $(ROOTDIR)$/bin$/rm
+MV *= $(ROOTDIR)$/bin$/mv
+DIVFILE *= $(TMPFILE:s,/,${__.DIVSEP-sh-${USESHELL}})
+__.DIVSEP-sh-yes !:= \\\
+__.DIVSEP-sh-no !:= \\
+
+NAMEMAX = 256
+
diff --git a/solenv/inc/startup/Readme b/solenv/inc/startup/Readme
new file mode 100644
index 000000000000..63a023d10d3e
--- /dev/null
+++ b/solenv/inc/startup/Readme
@@ -0,0 +1,6 @@
+
+here are some hints about our use of the startup directory.
+
+the .INCLUDEDIRS line in startup.mk gives you the oportunity of switching
+to your own set of central makefiles.
+
diff --git a/solenv/inc/startup/startup.mk b/solenv/inc/startup/startup.mk
new file mode 100644
index 000000000000..b4aa9a74353a
--- /dev/null
+++ b/solenv/inc/startup/startup.mk
@@ -0,0 +1,109 @@
+# 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
diff --git a/solenv/inc/startup/summary b/solenv/inc/startup/summary
new file mode 100644
index 000000000000..4ae18860da41
--- /dev/null
+++ b/solenv/inc/startup/summary
@@ -0,0 +1,3 @@
+The following is a summary of the supported dmake environments. When you
+issue the build command 'dmake tag' where tag is the target environment it
+will build one of these by default.
diff --git a/solenv/inc/startup/wnt/macros.mk b/solenv/inc/startup/wnt/macros.mk
new file mode 100644
index 000000000000..2d8181439e81
--- /dev/null
+++ b/solenv/inc/startup/wnt/macros.mk
@@ -0,0 +1,32 @@
+# Define additional MSDOS specific settings.
+#
+
+# --- Set Wrapper command ---
+# Provide a macro that can be used to access the wrapper and to avoid
+# hardcoding the program name everywhere
+GUWCMD*=guw.exe
+
+# This is a no-op for native W32 dmake
+.WINPATH !:= yes
+
+# Directory cache configuration.
+.DIRCACHE *:= no
+
+# Applicable suffix definitions
+E *:= .exe # Executables
+
+# This is hopefully not used. Only in: dmake/msdos/spawn.c
+# .MKSARGS *:= yes
+ DIVFILE *= $(TMPFILE:s,/,${__.DIVSEP-sh-${USESHELL}})
+ RM *= $/bin$/rm
+ MV *= $/bin$/mv
+ __.DIVSEP-sh-yes *:= \\\
+ __.DIVSEP-sh-no *:= \\
+ DIRSEPSTR :=/
+
+.EXPORT : GUWCMD
+
+# Does not respect case of filenames.
+.DIRCACHERESPCASE := no
+NAMEMAX = 256
+