LoginSignup
4
5

More than 5 years have passed since last update.

Cygwinにtreeコマンド入れる

Posted at

Windowsのコマンドプロンプトだとtreeコマンドあるんだけど、普段Cygwin(ConEmuで)使ってるのでtreeの為だけにコマンドプロンプト使いたくない。

ってことでCygwinでtreeコマンド使えるようにインストールする。

$ curl -LO http://mama.indstate.edu/users/ice/tree/src/tree-1.6.0.tgz
$ tar xzfv tree-1.6.0.tgz
$ cd tree-1.6.0.tgz

MakefileをCygwin用に修正する。

Makefile
 # Linux defaults:
 #CFLAGS=-ggdb -Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-CFLAGS=-O4 -Wall  -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-LDFLAGS=-s
+#CFLAGS=-O4 -Wall  -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+#LDFLAGS=-s

 # Uncomment for FreeBSD:
 #CFLAGS=-O2 -Wall -fomit-frame-pointer
 @@ -47,10 +47,10 @@ LDFLAGS=-s
 #MANDIR=${prefix}/share/man/man1

 # Uncomment for Cygwin:
-#CFLAGS=-O2 -Wall -fomit-frame-pointer -DCYGWIN
-#LDFLAGS=-s
-#TREE_DEST=tree.exe
-#OBJS+=strverscmp.o
+CFLAGS=-O2 -Wall -fomit-frame-pointer -DCYGWIN
+LDFLAGS=-s
+TREE_DEST=tree.exe
+OBJS+=strverscmp.o

 # Uncomment for OS X:
 #CC=cc

Makefileを修正したらmakeしてインストールする。

$ make
$ make install

error while loading shared libraries: cygmpc-3.dll: cannot open shared object file: No such file or directory ってエラーが出たけどgccを再インストールしたらなおった。

$ apt-cyg remove gcc-core
$ apt-cyg install gcc-core

ちゃんと使える。

$ tree
.
├── CHANGES
├── color.c
├── doc
│   ├── tree.1
│   ├── tree.1.fr
│   └── xml.dtd
├── hash.c
├── html.c
├── INSTALL
├── LICENSE
├── Makefile
├── README
├── strverscmp.c
├── TODO
├── tree.c
├── tree.h
├── unix.c
└── xml.c

1 directory, 17 files

4
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5