summaryrefslogtreecommitdiff
path: root/ACE/include/makeinclude/rules.bin.GNU
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/include/makeinclude/rules.bin.GNU')
-rw-r--r--ACE/include/makeinclude/rules.bin.GNU53
1 files changed, 53 insertions, 0 deletions
diff --git a/ACE/include/makeinclude/rules.bin.GNU b/ACE/include/makeinclude/rules.bin.GNU
new file mode 100644
index 00000000000..fe6fb0a83b1
--- /dev/null
+++ b/ACE/include/makeinclude/rules.bin.GNU
@@ -0,0 +1,53 @@
+# -*- Makefile -*-
+
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Build binaries
+# GNU version
+# Requires GNU make
+#----------------------------------------------------------------------------
+
+ifdef BIN
+ VBIN = $(ARCH_BIN:%=%$(VAR))
+ # VBIN always depends on idl_stubs and libraries, if they exist.
+ ifdef IDL_SRC
+ $(VBIN): $(IDL_SRC)
+ endif
+ ifdef VLIBS
+ $(VBIN): $(LIB_INSTALL) $(VLIBS)
+ endif
+else # !BIN
+ ifndef BIN_UNCHECKED
+ @echo Warning: rules.bin.GNU included, but no BIN targets detected.
+ endif # !BIN_UNCHECKED
+endif # BIN
+
+VOBJS = $(addsuffix .$(OBJEXT),$(addprefix $(VDIR),$(basename $(SRC))))
+
+ifneq ($(IDL_SRC),)
+ $(VBIN): $(IDL_SRC)
+endif
+
+# Needed for depend.
+PSRC += $(addsuffix .cpp, $(CLEANUP_BIN))
+
+CLEANUP_INSTALL += $(CLEANUP_BIN:%=$(INSBIN)/%$(VAR)$(EXEEXT))
+
+CHORUSLINK ?=
+VXWORKSLINK ?=
+using_aix_vacpp ?=
+
+ifeq ($(VXWORKSLINK),1)
+$(ARCH_BIN): $(DEFAULTRULE)
+ mv $(DEFAULTRULE) $@
+else # !VXWORKSLINK
+ ifeq (1,$(using_aix_vacpp))
+$(ARCH_BIN): %: %.icc $(SRC)
+ vacbld_r $< -severitylevel=warning
+ else # !using_aix_vacpp
+# Since we add in the vdir, don't use arch_bin. use bin instead!
+$(ARCH_BIN): %: $(VDIR)$(BIN).$(OBJEXT) $(VOBJS)
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $(sort $(VDIR)$(BIN).$(OBJEXT) $(VOBJS)) $(VLDLIBS) $(POSTLINK)
+ endif # using_aix_vacpp
+endif