diff options
Diffstat (limited to 'include/makeinclude/rules.local.GNU')
-rw-r--r-- | include/makeinclude/rules.local.GNU | 49 |
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 #--------------------------------------------------------------------------- |