summaryrefslogtreecommitdiff
path: root/include/makeinclude/rules.local.GNU
diff options
context:
space:
mode:
Diffstat (limited to 'include/makeinclude/rules.local.GNU')
-rw-r--r--include/makeinclude/rules.local.GNU49
1 files changed, 29 insertions, 20 deletions
diff --git a/include/makeinclude/rules.local.GNU b/include/makeinclude/rules.local.GNU
index d9ac5b6a581..3c4f60b69da 100644
--- a/include/makeinclude/rules.local.GNU
+++ b/include/makeinclude/rules.local.GNU
@@ -31,6 +31,8 @@ ifdef sun
CLEANUP_DIRS += SunWS_cache
endif
+vxworks_ntbuild ?= 0
+
#### TEMPLATE_REPOSITORY can be set in individual platform files
#### to create template repository directories. See
#### platform_sunos5_sunc++.GNU for an example.
@@ -87,15 +89,7 @@ ifeq ($(static_link),1)
endif # static_link = 1
OS ?=
-ifeq ($(OS),"Windows_NT")
-$(VDIR)%.obj: %.c
- $(COMPILE.c) $(CC_OUTPUT_FLAG) $@ $<
- ${MVCMD}
-$(VDIR)%.obj: %.cpp
- $(COMPILE.cc) $(CC_OUTPUT_FLAG) $@ $<
- ${MVCMD}
-else
$(VDIR)%.o: %.c $(VDIR)%.creation_stamp
$(COMPILE.c) $(CC_OUTPUT_FLAG) $@ $<
${MVCMD}
@@ -103,7 +97,6 @@ $(VDIR)%.o: %.c $(VDIR)%.creation_stamp
$(VDIR)%.o: %.cpp $(VDIR)%.creation_stamp
$(COMPILE.cc) $(CC_OUTPUT_FLAG) $@ $<
${MVCMD}
-endif
$(VDIR)%.o: %.C $(VDIR)%.creation_stamp
$(COMPILE.cc) $(CC_OUTPUT_FLAG) $@ $<
@@ -117,6 +110,12 @@ $(VDIR)%.o: %.cxx $(VDIR)%.creation_stamp
$(COMPILE.cc) $(CC_OUTPUT_FLAG) $@ $<
${MVCMD}
+ ifneq (,$(COMPILE.rc))
+$(VDIR)%.rc.o: %.rc $(VDIR)%.creation_stamp
+ $(COMPILE.rc) $< $@
+ ${MVCMD}
+ endif # COMPILE.rc
+
# If SOLINK is defined, then the .$(SOEXT) file is built from the
# .$(OBJEXT) file via separate rules in the same directory.
# Otherwise, the .$(SOEXT) and .$(OBJEXT) are built via the same rule.
@@ -166,25 +165,25 @@ $(VSHDIR)%.$(SOEXT): $(VSHDIR)%.$(OBJEXT) $(VSHDIR)%.creation_stamp
$(SOLINK)
endif # SOLINK
-ifeq ($(OS),"Windows_NT")
-$(VDIR).creation_stamp:
- @if not exist $(VDIR) mkdir $(VDIR)
+ifeq ($(vxworks_ntbuild),1)
+$(VDIR)%.creation_stamp:
+ @if not exist $(dir $@) $(MKDIR) $(dir $@) $(ACE_NUL_STDERR)
@echo > $@
else
.PHONY: $(VDIR)%.creation_stamp
$(VDIR)%.creation_stamp:
- @-test -d $(dir $@) || mkdir -p $(dir $@) $(ACE_NUL_STDERR)
+ @-test -d $(dir $@) || $(MKDIR) $(dir $@) $(ACE_NUL_STDERR)
endif
ifneq ($(VDIR),$(VSHDIR))
- ifeq ($(OS),"Windows_NT")
-$(VSHDIR).creation_stamp:
- @if not exist $(VSHDIR) mkdir $(VSHDIR)
+ ifeq ($(vxworks_ntbuild),1)
+$(VSHDIR)%.creation_stamp:
+ @if not exist $(dir $@) $(MKDIR) $(dir $@) $(ACE_NUL_STDERR)
@echo > $@
else
.PHONY: $(VSHDIR)%.creation_stamp
$(VSHDIR)%.creation_stamp:
- @-test -d $(dir $@) || mkdir -p $(dir $@) $(ACE_NUL_STDERR)
+ @-test -d $(dir $@) || $(MKDIR) $(dir $@) $(ACE_NUL_STDERR)
endif
endif
@@ -258,6 +257,15 @@ $(INSMAN)/man7/% \
$(INSMAN)/man8/% \
$(INSMAN)/manl/% \
$(INSMAN)/mann/% :
+ifeq ($(vxworks_ntbuild),1)
+ @if exist $@ echo "$(@F) already installed"
+ @if not exist $@ echo "Installing $(@F:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)) to $(@D)" && \
+ $(RM) $(@:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)) && \
+ $(LN_S) $(shell pwd)/$(@F) $(@:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)) && \
+ echo "Installing $(@F) to $(@D)" && \
+ $(RM) $@ && \
+ $(LN_S) $(shell pwd)/$(@F) $@
+else
ifneq ($(mingw32),1)
@if test $(shell pwd) != $(@D) -o -n "$(SOVERSION)" ; then \
if test -s $@ ; then \
@@ -285,6 +293,7 @@ else
fi ; \
fi
endif
+endif
ifdef MVSLIB
#special for MVS in order to use the .x files
@if test -w $(@D) ; then \
@@ -444,12 +453,12 @@ rcs_info.local:
build.objdirs: $(CLEANUP_DIRS)
-ifeq ($(OS),"Windows_NT")
+ifeq ($(MKDIR_NTSTYLE),1)
$(CLEANUP_DIRS):
- @if not exist $@ mkdir $@
+ @if not exist $@ $(MKDIR) $@ $(ACE_NUL_STDERR)
else
$(CLEANUP_DIRS):
- @test -d $@ || mkdir -p $@ $(ACE_NUL_STDERR)
+ @test -d $@ || $(MKDIR) $@ $(ACE_NUL_STDERR)
endif
#---------------------------------------------------------------------------