summaryrefslogtreecommitdiff
path: root/ACE/include/makeinclude/build_dll.bor
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/include/makeinclude/build_dll.bor')
-rw-r--r--ACE/include/makeinclude/build_dll.bor118
1 files changed, 118 insertions, 0 deletions
diff --git a/ACE/include/makeinclude/build_dll.bor b/ACE/include/makeinclude/build_dll.bor
new file mode 100644
index 00000000000..7bfded1e82d
--- /dev/null
+++ b/ACE/include/makeinclude/build_dll.bor
@@ -0,0 +1,118 @@
+#
+# $Id$
+#
+# Rules for linking a dll
+#
+# Inputs:
+# ~~~~~~~
+# NAME - undecorated name of target
+# CFLAGS - extra compiler flags for building target
+# CPPDIR - list of directories containing source files
+# OBJFILES - list of (non-system) object files
+# LIBFILES - list of (non-system) libraries
+# DEBUG - if defined means building with debug information
+# UNICODE - if defined when building a unicode dll
+#
+
+# Check if the output location was explicitly specified.
+!if $d(BASE_BINDIR) || $d(BINDIR)
+EXPLICIT_BINDIR = 1
+!endif
+
+!ifdef INSTALL_THIS_TARGET
+!ifndef EXPLICIT_BINDIR
+BINDIR = $(CORE_BINDIR)
+!endif
+!endif
+
+!include <$(ACE_ROOT)\include\makeinclude\decorator.bor>
+!include <$(ACE_ROOT)\include\makeinclude\outputdir.bor>
+!include <$(ACE_ROOT)\include\makeinclude\compiler.bor>
+
+!ifdef NAME
+!ifndef TARGET
+TARGET = $(BINDIR)\$(NAME)$(LIB_DECORATOR).dll
+!endif
+!ifndef INSTALL_THIS_TARGET
+!ifndef EXPLICIT_BINDIR
+CORE_TARGET = $(CORE_BINDIR)\$(NAME)$(LIB_DECORATOR).dll
+!endif
+!endif
+!endif
+
+all: $(TARGET) $(CORE_TARGET)
+ @echo Do nothing >NUL
+
+!ifdef TARGET
+$(TARGET): $(OBJFILES) $(RESOURCE)
+ @$(MAKE_BINDIR)
+ $(LD) @&&!
+ $(COMMON_LFLAGS) $(DLL_LFLAGS) $(LFLAGS) +
+ $(DLL_STARTUP_OBJ) $(LIBFILES) $(OBJFILES), +
+ $(TARGET),, +
+ $(COMMON_LIBS),, +
+ $(RESOURCE)
+!
+!ifndef DEBUG
+ @del $(TARGET:.dll=.tds)
+!endif
+!ifdef CORE_TARGET
+$(CORE_TARGET): $(TARGET)
+ @copy $(TARGET) $(CORE_TARGET) >NUL
+!ifdef DEBUG
+ @copy $(TARGET:.dll=.tds) $(CORE_TARGET:.dll=.tds) >NUL
+!endif
+!endif
+!endif
+
+!include <$(ACE_ROOT)\include\makeinclude\clean.bor>
+
+INSTALL_TYPES = dll lib includes
+
+!include <$(ACE_ROOT)\include\makeinclude\install.bor>
+
+!ifdef CPPDIR
+.path.cpp = $(CPPDIR)
+!endif
+
+!ifdef CDIR
+.path.c = $(CDIR)
+!endif
+
+!ifdef RESDIR
+.path.rc = $(RESDIR)
+!else
+.path.rc = .
+!endif
+
+.path.$(OBJ_EXT) = $(OBJDIR)
+
+!ifdef DEBUG
+!ifndef NO_FULL_PATH
+USE_FULL_PATH = 1
+!endif
+!endif
+
+.cpp.$(OBJ_EXT):
+ @$(MAKE_OBJDIR)
+!ifdef USE_FULL_PATH
+ @for /F "delims=;" %i in ('cd') do @echo $(CC) $(COMMON_CFLAGS) $(DLL_CFLAGS) $(CFLAGS) -c -n$(@D) %i\$(<:.\=)
+ @for /F "delims=;" %i in ('cd') do @$(CC) $(COMMON_CFLAGS) $(DLL_CFLAGS) $(CFLAGS) -c -n$(@D) %i\$(<:.\=)
+!else
+ $(CC) $(COMMON_CFLAGS) $(DLL_CFLAGS) $(CFLAGS) -c -n$(@D) $<
+!endif
+
+.c.$(OBJ_EXT):
+ @$(MAKE_OBJDIR)
+!ifdef USE_FULL_PATH
+ @for /F "delims=;" %i in ('cd') do @echo $(CC) $(COMMON_CFLAGS) $(DLL_CFLAGS) $(CFLAGS) -c -n$(@D) %i\$(<:.\=)
+ @for /F "delims=;" %i in ('cd') do @$(CC) $(COMMON_CFLAGS) $(DLL_CFLAGS) $(CFLAGS) -c -n$(@D) %i\$(<:.\=)
+!else
+ $(CC) $(COMMON_CFLAGS) $(DLL_CFLAGS) $(CFLAGS) -c -n$(@D) $<
+!endif
+
+.rc.res:
+ @$(MAKE_OBJDIR)
+ $(RC) $(RC_FLAGS) -fo$@ $<
+
+.autodepend