summaryrefslogtreecommitdiffstats
path: root/win/targets.vc
diff options
context:
space:
mode:
Diffstat (limited to 'win/targets.vc')
-rw-r--r--win/targets.vc48
1 files changed, 47 insertions, 1 deletions
diff --git a/win/targets.vc b/win/targets.vc
index ca227d8..7f1d388 100644
--- a/win/targets.vc
+++ b/win/targets.vc
@@ -36,17 +36,63 @@ $(PRJLIB): $(PRJ_OBJS) $(RESFILE)
-@del $*.exp
!endif
-!ifndef DISABLE_STANDARD_TARGETS
+!if "$(PRJ_HEADERS)" != "" && "$(PRJ_OBJS)" != ""
+$(PRJ_OBJS): $(PRJ_HEADERS)
+!endif
+
+# If parent makefile has defined stub objects, add their installation
+# to the default install
+!if "$(PRJ_STUBOBJS)" != ""
+default-install: default-install-stubs
+!endif
+
+# Unlike the other default targets, these cannot be in rules.vc because
+# the executed command depends on existence of macro PRJ_HEADERS_PUBLIC
+# that the parent makefile will not define until after including rules-ext.vc
+!if "$(PRJ_HEADERS_PUBLIC)" != ""
+default-install: default-install-headers
+default-install-headers:
+ @echo Installing headers to '$(INCLUDE_INSTALL_DIR)'
+ @for %f in ($(PRJ_HEADERS_PUBLIC)) do @$(COPY) %f "$(INCLUDE_INSTALL_DIR)"
+!endif
+
+!if "$(DISABLE_STANDARD_TARGETS)" == ""
DISABLE_STANDARD_TARGETS = 0
!endif
+!if "$(DISABLE_TARGET_setup)" == ""
+DISABLE_TARGET_setup = 0
+!endif
+!if "$(DISABLE_TARGET_install)" == ""
+DISABLE_TARGET_install = 0
+!endif
+!if "$(DISABLE_TARGET_clean)" == ""
+DISABLE_TARGET_clean = 0
+!endif
+!if "$(DISABLE_TARGET_test)" == ""
+DISABLE_TARGET_test = 0
+!endif
+!if "$(DISABLE_TARGET_shell)" == ""
+DISABLE_TARGET_shell = 0
+!endif
+
!if !$(DISABLE_STANDARD_TARGETS)
+!if !$(DISABLE_TARGET_setup)
setup: default-setup
+!endif
+!if !$(DISABLE_TARGET_install)
install: default-install
+!endif
+!if !$(DISABLE_TARGET_clean)
clean: default-clean
realclean: hose
hose: default-hose
distclean: realclean default-distclean
+!endif
+!if !$(DISABLE_TARGET_test)
test: default-test
+!endif
+!if !$(DISABLE_TARGET_shell)
shell: default-shell
!endif
+!endif # DISABLE_STANDARD_TARGETS