mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-10 09:30:48 +08:00
Update the default testing to use result of VCPKG. The 3rd-party are stored in GitHub NuGet storage and reused. The 3rd-party archive with installed 3rd-party added as an artefact Updated the actions to work with VCPKG 3rd party
416 lines
15 KiB
Diff
416 lines
15 KiB
Diff
From da6b5b83ef997f550155d9087c5e7b289168fb1b Mon Sep 17 00:00:00 2001
|
|
From: dpasukhi <dpasukhi@opencascade.com>
|
|
Date: Sat, 5 Jul 2025 11:36:01 +0100
|
|
Subject: [PATCH] Add support for building and installing Tk in Makefiles for
|
|
Unix and Windows
|
|
|
|
---
|
|
unix/Makefile.in | 94 +++++++++++++++++++++++++++++++++++++++++++++--
|
|
win/Makefile.in | 68 ++++++++++++++++++++++++++++++++++
|
|
win/makefile.vc | 96 +++++++++++++++++++++++++++++++++++++++++++++---
|
|
3 files changed, 249 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/unix/Makefile.in b/unix/Makefile.in
|
|
index bc743b3892..dfdcf35acd 100644
|
|
--- a/unix/Makefile.in
|
|
+++ b/unix/Makefile.in
|
|
@@ -232,6 +232,7 @@ TOOL_DIR = $(TOP_DIR)/tools
|
|
UNIX_DIR = $(TOP_DIR)/unix
|
|
MAC_OSX_DIR = $(TOP_DIR)/macosx
|
|
PKGS_DIR = $(TOP_DIR)/pkgs
|
|
+EXTRADIR = $(TOP_DIR)/extra
|
|
# Must be absolute because of the cd dltest $(DLTEST_DIR)/configure below.
|
|
DLTEST_DIR = @TCL_SRC_DIR@/unix/dltest
|
|
# Must be absolute to so the corresponding tcltest's tcl_library is absolute.
|
|
@@ -622,7 +623,7 @@ SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) $(NOTIFY_SRCS) \
|
|
# Start of rules
|
|
#--------------------------------------------------------------------------
|
|
|
|
-all: binaries libraries doc packages
|
|
+all: binaries libraries doc packages extra
|
|
|
|
binaries: ${LIB_FILE} ${TCL_EXE}
|
|
|
|
@@ -666,13 +667,13 @@ Makefile: $(UNIX_DIR)/Makefile.in $(DLTEST_DIR)/Makefile.in
|
|
#tclConfig.h: $(UNIX_DIR)/tclConfig.h.in
|
|
# $(SHELL) config.status
|
|
|
|
-clean: clean-packages
|
|
+clean: clean-packages clean-extra
|
|
rm -rf *.a *.o libtcl* core errs *~ \#* TAGS *.E a.out \
|
|
errors ${TCL_EXE} ${TCLTEST_EXE} lib.exp Tcl @DTRACE_HDR@ \
|
|
minizip${HOST_EXEEXT} *.${HOST_OBJEXT} *.zip *.vfs
|
|
(cd dltest ; $(MAKE) clean)
|
|
|
|
-distclean: distclean-packages clean
|
|
+distclean: distclean-packages clean distclean-extra
|
|
rm -rf Makefile config.status config.cache config.log tclConfig.sh \
|
|
tclConfig.h *.plist Tcl.framework tcl.pc tclUuid.h
|
|
(cd dltest ; $(MAKE) distclean)
|
|
@@ -795,7 +796,7 @@ INSTALL_EXTRA_TARGETS = @EXTRA_INSTALL@
|
|
INSTALL_TARGETS = $(INSTALL_BASE_TARGETS) $(INSTALL_DOC_TARGETS) $(INSTALL_DEV_TARGETS) \
|
|
$(INSTALL_PACKAGE_TARGETS) $(INSTALL_EXTRA_TARGETS)
|
|
|
|
-install: $(INSTALL_TARGETS)
|
|
+install: $(INSTALL_TARGETS) install-extra
|
|
|
|
install-strip:
|
|
$(MAKE) $(INSTALL_TARGETS) \
|
|
@@ -1725,6 +1726,7 @@ PKG_CFG_ARGS = @PKG_CFG_ARGS@
|
|
# cannot use absolute paths due to issues in nested configure when path to
|
|
# build dir contains spaces).
|
|
PKG_DIR = ./pkgs
|
|
+EXTRA_BUILD_DIR = ./extra
|
|
|
|
configure-packages:
|
|
@for i in $(PKGS_DIR)/*; do \
|
|
@@ -2151,6 +2153,89 @@ BUILD_HTML = \
|
|
--useversion=$(HTML_VERSION) --htmldir="$(HTML_INSTALL_DIR)" \
|
|
--srcdir=$(TOP_DIR)/.. $(BUILD_HTML_FLAGS)
|
|
|
|
+#--------------------------------------------------------------------------
|
|
+# Extra packages build targets (for TK and other extras)
|
|
+#--------------------------------------------------------------------------
|
|
+
|
|
+extra:
|
|
+ @if test -d "$(EXTRADIR)"; then \
|
|
+ for extradir in $(EXTRADIR)/*; do \
|
|
+ if test -d "$$extradir/unix" && test -f "$$extradir/unix/configure"; then \
|
|
+ extrapkg=`basename $$extradir`; \
|
|
+ echo "Building extra package '$$extrapkg'"; \
|
|
+ mkdir -p "$(EXTRA_BUILD_DIR)/$$extrapkg"; \
|
|
+ TCL_BUILD_DIR="`pwd`"; \
|
|
+ if test ! -f "$(EXTRA_BUILD_DIR)/$$extrapkg/Makefile"; then \
|
|
+ echo "Configuring extra package '$$extrapkg'"; \
|
|
+ (cd "$(EXTRA_BUILD_DIR)/$$extrapkg" && \
|
|
+ "$$extradir/unix/configure" \
|
|
+ --prefix="$(prefix)" \
|
|
+ --exec-prefix="$(exec_prefix)" \
|
|
+ --with-tcl="$$TCL_BUILD_DIR" \
|
|
+ CFLAGS="$(CFLAGS)" \
|
|
+ CPPFLAGS="$(CPPFLAGS)" \
|
|
+ LDFLAGS="$(LDFLAGS)" \
|
|
+ CC="$(CC)") || exit $$?; \
|
|
+ fi; \
|
|
+ echo "Building extra package '$$extrapkg'"; \
|
|
+ (cd "$(EXTRA_BUILD_DIR)/$$extrapkg" && \
|
|
+ $(MAKE) \
|
|
+ TCL_LIBRARY=$(TCL_LIBRARY) \
|
|
+ CFLAGS="$(CFLAGS)" \
|
|
+ CPPFLAGS="$(CPPFLAGS)" \
|
|
+ LDFLAGS="$(LDFLAGS)" \
|
|
+ CC="$(CC)") || exit $$?; \
|
|
+ fi; \
|
|
+ done; \
|
|
+ else \
|
|
+ echo "No extra directory found at $(EXTRADIR) - skipping extra builds"; \
|
|
+ fi
|
|
+
|
|
+install-extra:
|
|
+ @if test -d "$(EXTRADIR)"; then \
|
|
+ for extradir in $(EXTRADIR)/*; do \
|
|
+ if test -d "$$extradir/unix" && test -f "$$extradir/unix/configure"; then \
|
|
+ extrapkg=`basename $$extradir`; \
|
|
+ if test -f "$(EXTRA_BUILD_DIR)/$$extrapkg/Makefile"; then \
|
|
+ echo "Installing extra package '$$extrapkg'"; \
|
|
+ (cd "$(EXTRA_BUILD_DIR)/$$extrapkg" && $(MAKE) install \
|
|
+ DESTDIR="$(INSTALL_ROOT)" \
|
|
+ prefix="$(prefix)" \
|
|
+ exec_prefix="$(exec_prefix)" \
|
|
+ TCL_LIBRARY=$(TCL_LIBRARY) \
|
|
+ CFLAGS="$(CFLAGS)" \
|
|
+ CPPFLAGS="$(CPPFLAGS)" \
|
|
+ LDFLAGS="$(LDFLAGS)" \
|
|
+ CC="$(CC)") || exit $$?; \
|
|
+ fi; \
|
|
+ fi; \
|
|
+ done; \
|
|
+ else \
|
|
+ echo "No extra directory found - skipping extra installs"; \
|
|
+ fi
|
|
+
|
|
+clean-extra:
|
|
+ @if test -d "$(EXTRA_BUILD_DIR)"; then \
|
|
+ for extrapkg in $(EXTRA_BUILD_DIR)/*; do \
|
|
+ if test -d "$$extrapkg" && test -f "$$extrapkg/Makefile"; then \
|
|
+ echo "Cleaning extra package in $$extrapkg"; \
|
|
+ (cd "$$extrapkg" && $(MAKE) clean) || exit $$?; \
|
|
+ fi; \
|
|
+ done; \
|
|
+ fi
|
|
+
|
|
+distclean-extra:
|
|
+ @if test -d "$(EXTRA_BUILD_DIR)"; then \
|
|
+ for extrapkg in $(EXTRA_BUILD_DIR)/*; do \
|
|
+ if test -d "$$extrapkg" && test -f "$$extrapkg/Makefile"; then \
|
|
+ echo "Distcleaning extra package in $$extrapkg"; \
|
|
+ (cd "$$extrapkg" && $(MAKE) distclean) || exit $$?; \
|
|
+ fi; \
|
|
+ rm -rf "$$extrapkg"; \
|
|
+ done; \
|
|
+ rm -rf "$(EXTRA_BUILD_DIR)"; \
|
|
+ fi
|
|
+
|
|
#--------------------------------------------------------------------------
|
|
# The list of all the targets that do not correspond to real files. This stops
|
|
# 'make' from getting confused when someone makes an error in a rule.
|
|
@@ -2166,6 +2251,7 @@ BUILD_HTML = \
|
|
.PHONY: install-tzdata install-msgs
|
|
.PHONY: packages configure-packages test-packages clean-packages
|
|
.PHONY: dist-packages distclean-packages install-packages
|
|
+.PHONY: extra install-extra clean-extra distclean-extra
|
|
|
|
#--------------------------------------------------------------------------
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
|
diff --git a/win/Makefile.in b/win/Makefile.in
|
|
index 8dd107670f..f0cf267329 100644
|
|
--- a/win/Makefile.in
|
|
+++ b/win/Makefile.in
|
|
@@ -129,6 +129,11 @@ ROOT_DIR_WIN_NATIVE = $(shell cd '$(ROOT_DIR)' ; pwd -W 2>/dev/null || pwd -P)
|
|
ZLIB_DIR_NATIVE = $(shell $(CYGPATH) '$(ZLIB_DIR)')
|
|
TOMMATH_DIR_NATIVE = $(shell $(CYGPATH) '$(TOMMATH_DIR)')
|
|
|
|
+# Tk-related directories (TKDIR can be set by user)
|
|
+TK_SRC_DIR = $(TKDIR)
|
|
+TK_BUILD_TOP = $(TKDIR)/win
|
|
+CONFIG_INSTALL_DIR = $(LIB_INSTALL_DIR)
|
|
+
|
|
# Fully qualify library path so that `make test`
|
|
# does not depend on the current directory.
|
|
LIBRARY_DIR1 = $(shell cd '$(ROOT_DIR_NATIVE)/library' ; pwd -P)
|
|
@@ -432,6 +437,34 @@ TCL_OBJS = ${GENERIC_OBJS} ${WIN_OBJS} @ZLIB_OBJS@ $(TOMMATH_OBJS)
|
|
TCL_DOCS = "$(ROOT_DIR_NATIVE)"/doc/*.[13n]
|
|
|
|
all: binaries libraries doc packages
|
|
+ @if test -n "$(TKDIR)" && test -d "$(TKDIR)"; then \
|
|
+ echo "TKDIR detected - automatically building Tk..."; \
|
|
+ echo "========== TK BUILD PARAMETERS =========="; \
|
|
+ echo "TKDIR=$(TKDIR)"; \
|
|
+ echo "TCLDIR=$(TOP_DIR)"; \
|
|
+ echo "prefix=$(prefix)"; \
|
|
+ echo "exec_prefix=$(exec_prefix)"; \
|
|
+ echo "TCL_TCLSH=$(BIN_INSTALL_DIR)/tclsh$(VER)${EXESUFFIX}"; \
|
|
+ echo "=========================================="; \
|
|
+ if test -f "$(TK_BUILD_TOP)/Makefile"; then \
|
|
+ echo "Building Tk using existing Makefile..."; \
|
|
+ (cd "$(TK_BUILD_TOP)" && $(MAKE)) || exit $$?; \
|
|
+ elif test -f "$(TK_SRC_DIR)/win/configure"; then \
|
|
+ echo "Configuring and building Tk..."; \
|
|
+ mkdir -p "$(TK_BUILD_TOP)"; \
|
|
+ (cd "$(TK_BUILD_TOP)" && \
|
|
+ "$(TK_SRC_DIR)/win/configure" \
|
|
+ --prefix="$(prefix)" \
|
|
+ --exec-prefix="$(exec_prefix)" \
|
|
+ --with-tcl="$(CONFIG_INSTALL_DIR)" && \
|
|
+ $(MAKE)) || exit $$?; \
|
|
+ else \
|
|
+ echo "ERROR: Tk configure script not found at $(TK_SRC_DIR)/win/configure"; \
|
|
+ exit 1; \
|
|
+ fi; \
|
|
+ else \
|
|
+ echo "TKDIR not set or directory does not exist - skipping Tk build"; \
|
|
+ fi
|
|
|
|
# Test-suite helper (can be used to test Tcl from build directory with all expected modules).
|
|
# To start from windows shell use:
|
|
@@ -648,6 +681,27 @@ gentommath_h:
|
|
> "$(GENERIC_DIR_NATIVE)/tclTomMath.h"
|
|
|
|
install: all install-binaries install-libraries install-doc install-packages
|
|
+ @if test -n "$(TKDIR)" && test -d "$(TKDIR)"; then \
|
|
+ echo "TKDIR detected - automatically installing Tk..."; \
|
|
+ echo "========== TK INSTALL PARAMETERS =========="; \
|
|
+ echo "TKDIR=$(TKDIR)"; \
|
|
+ echo "TCLDIR=$(TOP_DIR)"; \
|
|
+ echo "prefix=$(prefix)"; \
|
|
+ echo "exec_prefix=$(exec_prefix)"; \
|
|
+ echo "DESTDIR=$(INSTALL_ROOT)"; \
|
|
+ echo "TCL_TCLSH=$(BIN_INSTALL_DIR)/tclsh$(VER)${EXESUFFIX}"; \
|
|
+ echo "==========================================="; \
|
|
+ if test -f "$(TK_BUILD_TOP)/Makefile"; then \
|
|
+ echo "Installing Tk..."; \
|
|
+ (cd "$(TK_BUILD_TOP)" && $(MAKE) install DESTDIR="$(INSTALL_ROOT)") || exit $$?; \
|
|
+ else \
|
|
+ echo "ERROR: Tk Makefile not found at $(TK_BUILD_TOP)/Makefile"; \
|
|
+ echo "Please run 'make all' first to build Tk"; \
|
|
+ exit 1; \
|
|
+ fi; \
|
|
+ else \
|
|
+ echo "TKDIR not set or directory does not exist - skipping Tk install"; \
|
|
+ fi
|
|
|
|
install-binaries: binaries
|
|
@for i in "$(LIB_INSTALL_DIR)" "$(BIN_INSTALL_DIR)"; \
|
|
@@ -848,10 +902,24 @@ clean: cleanhelp clean-packages
|
|
$(RM) $(TCLSH) $(CAT32) $(TEST_EXE_FILE) $(TEST_DLL_FILE) tcltest.cmd tcltest.sh
|
|
$(RM) *.pch *.ilk *.pdb *.zip
|
|
$(RMDIR) *.vfs
|
|
+ @if test -n "$(TKDIR)" && test -d "$(TKDIR)" && test -f "$(TK_BUILD_TOP)/Makefile"; then \
|
|
+ echo "TKDIR detected - automatically cleaning Tk..."; \
|
|
+ echo "Cleaning Tk build..."; \
|
|
+ (cd "$(TK_BUILD_TOP)" && $(MAKE) clean) || exit $$?; \
|
|
+ else \
|
|
+ echo "TKDIR not set, directory does not exist, or no Tk build to clean"; \
|
|
+ fi
|
|
|
|
distclean: distclean-packages clean
|
|
$(RM) Makefile config.status config.cache config.log tclConfig.sh \
|
|
tcl.hpj config.status.lineno tclsh.exe.manifest tclUuid.h
|
|
+ @if test -n "$(TKDIR)" && test -d "$(TKDIR)" && test -f "$(TK_BUILD_TOP)/Makefile"; then \
|
|
+ echo "TKDIR detected - automatically distcleaning Tk..."; \
|
|
+ echo "Distcleaning Tk build..."; \
|
|
+ (cd "$(TK_BUILD_TOP)" && $(MAKE) distclean) || exit $$?; \
|
|
+ else \
|
|
+ echo "TKDIR not set, directory does not exist, or no Tk build to distclean"; \
|
|
+ fi
|
|
|
|
#
|
|
# Bundled package targets
|
|
diff --git a/win/makefile.vc b/win/makefile.vc
|
|
index c88c0ec3dc..cbdad89ba8 100644
|
|
--- a/win/makefile.vc
|
|
+++ b/win/makefile.vc
|
|
@@ -420,6 +420,7 @@ TCLSTUBOBJS = \
|
|
### the left side of implicit rules.
|
|
TOMMATHDIR = $(ROOT)\libtommath
|
|
PKGSDIR = $(ROOT)\pkgs
|
|
+WINDIR = $(ROOT)\win
|
|
|
|
# Additional include and C macro definitions for the implicit rules
|
|
# defined in rules.vc
|
|
@@ -438,6 +439,7 @@ TESTFLAGS = $(TESTFLAGS) -file $(TESTPAT)
|
|
!endif
|
|
|
|
|
|
+
|
|
#---------------------------------------------------------------------
|
|
# Project specific targets
|
|
# There are 4 primary build configurations to consider from the combination
|
|
@@ -466,18 +468,24 @@ TESTFLAGS = $(TESTFLAGS) -file $(TESTPAT)
|
|
# release - Everything that builds as part of a release
|
|
#---------------------------------------------------------------------
|
|
|
|
-release: setup $(TCLSH) $(TCLSTUBLIB) dlls pkgs
|
|
-all: setup $(TCLSH) $(TCLSTUBLIB) dlls $(CAT32) pkgs
|
|
+release: setup $(TCLSH) $(TCLSTUBLIB) dlls setpath pkgs tk-build
|
|
+all: setup $(TCLSH) $(TCLSTUBLIB) dlls $(CAT32) setpath pkgs
|
|
core: setup $(TCLLIB) $(TCLSTUBLIB)
|
|
shell: setup $(TCLSH)
|
|
dlls: setup $(TCLREGLIB) $(TCLDDELIB) $(OUT_DIR)\zlib1.dll
|
|
tcltest: setup $(TCLTEST) dlls $(CAT32)
|
|
-install: install-binaries install-libraries install-docs install-pkgs
|
|
+install: setpath install-binaries install-libraries install-docs install-pkgs tk-build tk-install
|
|
!if $(SYMBOLS)
|
|
install: install-pdbs
|
|
!endif
|
|
setup: default-setup
|
|
|
|
+# Add TCL win directory to PATH for current session
|
|
+setpath:
|
|
+ @echo Adding $(WINDIR) to PATH
|
|
+ @set PATH=$(WINDIR);$(PATH)
|
|
+ @echo PATH updated for current session
|
|
+
|
|
test: test-core test-pkgs
|
|
test-core: setup $(TCLTEST) dlls $(CAT32)
|
|
set TCL_LIBRARY=$(ROOT:\=/)/library
|
|
@@ -569,6 +577,84 @@ pkgs:
|
|
popd \
|
|
)
|
|
|
|
+tk-build:
|
|
+!if defined(TKDIR)
|
|
+ @echo TKDIR detected - building Tk...
|
|
+ @echo ========== TK BUILD PARAMETERS ==========
|
|
+ @echo TKDIR=$(TKDIR)
|
|
+ @echo TCLDIR=$(ROOT)
|
|
+!if defined(INSTALLDIR)
|
|
+ @echo INSTALLDIR=$(INSTALLDIR)
|
|
+!endif
|
|
+ @echo OPTS=$(OPTS)
|
|
+ @echo STATS=$(STATS)
|
|
+ @echo CHECKS=$(CHECKS)
|
|
+ @echo MACHINE=$(MACHINE)
|
|
+ @echo ==========================================
|
|
+ @if exist "$(TKDIR)\win\makefile.vc" ( \
|
|
+ pushd "$(TKDIR)\win" & \
|
|
+ $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) OPTS=$(OPTS) STATS=$(STATS) CHECKS=$(CHECKS) MACHINE=$(MACHINE) & \
|
|
+ popd \
|
|
+ ) else ( \
|
|
+ echo ERROR: Tk makefile.vc not found at $(TKDIR)\win\makefile.vc & \
|
|
+ exit 1 \
|
|
+ )
|
|
+!else
|
|
+ @echo TKDIR not set or directory does not exist - skipping Tk build
|
|
+!endif
|
|
+
|
|
+tk-install:
|
|
+!if defined(TKDIR) && defined(INSTALLDIR)
|
|
+ @echo TKDIR detected - installing Tk...
|
|
+ @echo ========== TK INSTALL PARAMETERS ==========
|
|
+ @echo TKDIR=$(TKDIR)
|
|
+ @echo TCLDIR=$(ROOT)
|
|
+ @echo INSTALLDIR=$(INSTALLDIR)
|
|
+ @echo OPTS=$(OPTS)
|
|
+ @echo STATS=$(STATS)
|
|
+ @echo CHECKS=$(CHECKS)
|
|
+ @echo MACHINE=$(MACHINE)
|
|
+ @echo ===========================================
|
|
+ @if exist "$(TKDIR)\win\makefile.vc" ( \
|
|
+ pushd "$(TKDIR)\win" & \
|
|
+ $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) INSTALLDIR=$(INSTALLDIR) OPTS=$(OPTS) STATS=$(STATS) CHECKS=$(CHECKS) MACHINE=$(MACHINE) install & \
|
|
+ popd \
|
|
+ ) else ( \
|
|
+ echo ERROR: Tk makefile.vc not found at $(TKDIR)\win\makefile.vc & \
|
|
+ exit 1 \
|
|
+ )
|
|
+!else
|
|
+ @echo TKDIR not set, INSTALLDIR not set, or directory does not exist - skipping Tk install
|
|
+!endif
|
|
+
|
|
+tk-clean:
|
|
+!if defined(TKDIR)
|
|
+ @echo TKDIR detected - cleaning Tk build...
|
|
+ @if exist "$(TKDIR)\win\makefile.vc" ( \
|
|
+ pushd "$(TKDIR)\win" & \
|
|
+ $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) clean & \
|
|
+ popd \
|
|
+ ) else ( \
|
|
+ echo No Tk makefile found to clean \
|
|
+ )
|
|
+!else
|
|
+ @echo TKDIR not set or directory does not exist - skipping Tk clean
|
|
+!endif
|
|
+
|
|
+tk-distclean:
|
|
+!if defined(TKDIR)
|
|
+ @echo TKDIR detected - distcleaning Tk build...
|
|
+ @if exist "$(TKDIR)\win\makefile.vc" ( \
|
|
+ pushd "$(TKDIR)\win" & \
|
|
+ $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) distclean & \
|
|
+ popd \
|
|
+ ) else ( \
|
|
+ echo No Tk makefile found to distclean \
|
|
+ )
|
|
+!else
|
|
+ @echo TKDIR not set or directory does not exist - skipping Tk distclean
|
|
+!endif
|
|
+
|
|
test-pkgs:
|
|
@for /d %d in ($(PKGSDIR)\*) do \
|
|
@if exist "%~fd\win\makefile.vc" ( \
|
|
@@ -1058,8 +1144,8 @@ tidy:
|
|
@echo Removing $(TCLREGLIB) ...
|
|
@if exist $(TCLREGLIB) del $(TCLREGLIB)
|
|
|
|
-clean: default-clean clean-pkgs
|
|
-hose: default-hose hose-pkgs
|
|
+clean: default-clean clean-pkgs tk-clean
|
|
+hose: default-hose hose-pkgs tk-distclean
|
|
realclean: hose
|
|
.PHONY:
|
|
|
|
--
|
|
2.43.0
|
|
|