summaryrefslogtreecommitdiff
path: root/trunk/ACE/include/makeinclude/build_exe.bor
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/ACE/include/makeinclude/build_exe.bor')
-rw-r--r--trunk/ACE/include/makeinclude/build_exe.bor114
1 files changed, 114 insertions, 0 deletions
diff --git a/trunk/ACE/include/makeinclude/build_exe.bor b/trunk/ACE/include/makeinclude/build_exe.bor
new file mode 100644
index 00000000000..3387e6e5cf5
--- /dev/null
+++ b/trunk/ACE/include/makeinclude/build_exe.bor
@@ -0,0 +1,114 @@
+#
+# $Id$
+#
+# Rules for building an executable
+#
+# 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
+# STATIC - if defined means link exe with static libraries
+# DEBUG - if defined means building with debug information
+# UNICODE - if defined when building a unicode exe
+#
+
+# Check if the output location was explicitly specified.
+!if $d(BASE_BINDIR) || $d(BINDIR)
+EXPLICIT_BINDIR = 1
+!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).exe
+!endif
+!ifdef INSTALL_THIS_TARGET
+!ifndef EXPLICIT_BINDIR
+CORE_TARGET = $(CORE_BINDIR)\$(NAME).exe
+!endif
+!endif
+!endif
+
+all: $(TARGET) $(CORE_TARGET)
+ @echo Do nothing >NUL
+
+!ifdef TARGET
+$(TARGET): $(OBJFILES) $(RESOURCE)
+ @$(MAKE_BINDIR)
+ $(LD) @&&!
+ $(COMMON_LFLAGS) $(EXE_LFLAGS) $(LFLAGS) +
+ $(EXE_STARTUP_OBJ) $(PACKAGES) $(LIBFILES) $(OBJFILES), +
+ $(TARGET),, +
+ $(COMMON_LIBS),, +
+ $(RESOURCE)
+!
+!ifndef DEBUG
+ @del $(TARGET:.exe=.tds)
+!endif
+!ifdef CORE_TARGET
+$(CORE_TARGET): $(TARGET)
+ @copy $(TARGET) $(CORE_TARGET) >NUL
+!ifdef DEBUG
+ @copy $(TARGET:.exe=.tds) $(CORE_TARGET:.exe=.tds) >NUL
+!endif
+!endif
+!endif
+
+
+!include <$(ACE_ROOT)\include\makeinclude\clean.bor>
+
+INSTALL_TYPES = exe
+
+!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) $(EXE_CFLAGS) $(CFLAGS) -c -n$(@D) %i\$(<:.\=)
+ @for /F "delims=;" %i in ('cd') do @$(CC) $(COMMON_CFLAGS) $(EXE_CFLAGS) $(CFLAGS) -c -n$(@D) %i\$(<:.\=)
+!else
+ $(CC) $(COMMON_CFLAGS) $(EXE_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) $(EXE_CFLAGS) $(CFLAGS) -c -n$(@D) %i\$(<:.\=)
+ @for /F "delims=;" %i in ('cd') do @$(CC) $(COMMON_CFLAGS) $(EXE_CFLAGS) $(CFLAGS) -c -n$(@D) %i\$(<:.\=)
+!else
+ $(CC) $(COMMON_CFLAGS) $(EXE_CFLAGS) $(CFLAGS) -c -n$(@D) $<
+!endif
+
+.rc.res:
+ @$(MAKE_OBJDIR)
+ $(RC) $(RC_FLAGS) -fo$@ $<
+
+.autodepend