1 #------------------------------------------------------------- -*- makefile -*-
\r
4 # Part of the nmake based build system for Tcl and its extensions.
\r
5 # This file defines some standard targets for the convenience of extensions
\r
6 # and can be optionally included by the extension makefile.
\r
7 # See TIP 477 (https://core.tcl-lang.org/tips/doc/main/tip/477.md) for docs.
\r
9 $(PROJECT): setup pkgindex $(PRJLIB)
\r
12 $(PROJECT): $(PRJSTUBLIB)
\r
13 $(PRJSTUBLIB): $(PRJ_STUBOBJS)
\r
18 !endif # PRJ_STUBOBJS
\r
21 $(PROJECT): $(PRJLIB).manifest
\r
22 $(PRJLIB).manifest: $(PRJ_MANIFEST)
\r
23 @nmakehlp -s << $** >$@
\r
24 @MACHINE@ $(MACHINE:IX86=X86)
\r
28 !if "$(PROJECT)" != "tcl" && "$(PROJECT)" != "tk"
\r
29 $(PRJLIB): $(PRJ_OBJS) $(RESFILE)
\r
34 $(_VC_MANIFEST_EMBED_DLL)
\r
39 !if "$(PRJ_HEADERS)" != "" && "$(PRJ_OBJS)" != ""
\r
40 $(PRJ_OBJS): $(PRJ_HEADERS)
\r
43 # If parent makefile has defined stub objects, add their installation
\r
44 # to the default install
\r
45 !if "$(PRJ_STUBOBJS)" != ""
\r
46 default-install: default-install-stubs
\r
49 # Unlike the other default targets, these cannot be in rules.vc because
\r
50 # the executed command depends on existence of macro PRJ_HEADERS_PUBLIC
\r
51 # that the parent makefile will not define until after including rules-ext.vc
\r
52 !if "$(PRJ_HEADERS_PUBLIC)" != ""
\r
53 default-install: default-install-headers
\r
54 default-install-headers:
\r
55 @echo Installing headers to '$(INCLUDE_INSTALL_DIR)'
\r
56 @for %f in ($(PRJ_HEADERS_PUBLIC)) do @$(COPY) %f "$(INCLUDE_INSTALL_DIR)"
\r
59 !if "$(DISABLE_STANDARD_TARGETS)" == ""
\r
60 DISABLE_STANDARD_TARGETS = 0
\r
63 !if "$(DISABLE_TARGET_setup)" == ""
\r
64 DISABLE_TARGET_setup = 0
\r
66 !if "$(DISABLE_TARGET_install)" == ""
\r
67 DISABLE_TARGET_install = 0
\r
69 !if "$(DISABLE_TARGET_clean)" == ""
\r
70 DISABLE_TARGET_clean = 0
\r
72 !if "$(DISABLE_TARGET_test)" == ""
\r
73 DISABLE_TARGET_test = 0
\r
75 !if "$(DISABLE_TARGET_shell)" == ""
\r
76 DISABLE_TARGET_shell = 0
\r
79 !if !$(DISABLE_STANDARD_TARGETS)
\r
80 !if !$(DISABLE_TARGET_setup)
\r
81 setup: default-setup
\r
83 !if !$(DISABLE_TARGET_install)
\r
84 install: default-install
\r
86 !if !$(DISABLE_TARGET_clean)
\r
87 clean: default-clean
\r
90 distclean: realclean default-distclean
\r
92 !if !$(DISABLE_TARGET_test)
\r
95 !if !$(DISABLE_TARGET_shell)
\r
96 shell: default-shell
\r
98 !endif # DISABLE_STANDARD_TARGETS
\r