diff options
Diffstat (limited to 'ACE/include/makeinclude/build_dll.bor')
-rw-r--r-- | ACE/include/makeinclude/build_dll.bor | 118 |
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 |