From d7c0657c3df641164782584473dc150fd0a187e8 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Wed, 25 Jul 2018 20:13:53 -0700 Subject: [PATCH] opt: cygfuse: refactoring --- opt/cygfuse/.gitignore | 1 + opt/cygfuse/Makefile | 47 ++++++++++++++------------- opt/cygfuse/fuse/Makefile | 29 +++++++++++++++++ opt/cygfuse/{ => fuse}/cygfuse-test.c | 0 opt/cygfuse/{ => fuse}/cygfuse.c | 2 +- opt/cygfuse/{ => fuse}/fuse.cygport | 6 ++-- opt/cygfuse/{ => fuse}/fuse.pc.in | 0 7 files changed, 59 insertions(+), 26 deletions(-) create mode 100644 opt/cygfuse/.gitignore mode change 100644 => 100755 opt/cygfuse/Makefile create mode 100644 opt/cygfuse/fuse/Makefile rename opt/cygfuse/{ => fuse}/cygfuse-test.c (100%) rename opt/cygfuse/{ => fuse}/cygfuse.c (99%) rename opt/cygfuse/{ => fuse}/fuse.cygport (89%) rename opt/cygfuse/{ => fuse}/fuse.pc.in (100%) diff --git a/opt/cygfuse/.gitignore b/opt/cygfuse/.gitignore new file mode 100644 index 00000000..378eac25 --- /dev/null +++ b/opt/cygfuse/.gitignore @@ -0,0 +1 @@ +build diff --git a/opt/cygfuse/Makefile b/opt/cygfuse/Makefile old mode 100644 new mode 100755 index e5413371..d127c328 --- a/opt/cygfuse/Makefile +++ b/opt/cygfuse/Makefile @@ -1,30 +1,33 @@ -Version = $(shell sed -n '/^VERSION=/s/VERSION=\(.*\)/\1/p' fuse.cygport) -#Debug = -g +Arch = $(shell uname -m) +Build = build -cygfuse-$(Version).dll libfuse-$(Version).dll.a fuse.pc: cygfuse.c fuse.pc.in - gcc $(Debug) -shared -o cygfuse-$(Version).dll -Wl,--out-implib=libfuse-$(Version).dll.a -I../../inc/fuse cygfuse.c - [ -n "$(Debug)" ] || strip cygfuse-$(Version).dll - sed "s/@Version@/$(Version)/g" fuse.pc.in > fuse.pc - -cygfuse-test.exe: cygfuse-test.c cygfuse-$(Version).dll libfuse-$(Version).dll.a - gcc $(Debug) -o cygfuse-test.exe -I../../inc/fuse -DCYGFUSE cygfuse-test.c -L$(PWD) -lfuse-$(Version) +.PHONY: usage +usage: + @echo "make cygport|dist" 1>&2 + @exit 2 +.PHONY: cygport cygport: - git clean -dfx - (\ - cd `git rev-parse --show-toplevel` &&\ - Stash=`git stash create` &&\ - git archive --prefix=winfsp-work/ --format=tar.gz $${Stash:-HEAD}\ - > opt/cygfuse/winfsp-work.tar.gz\ - ) - CYGPORT_SRC_URI=winfsp-work.tar.gz CYGPORT_SRC_DIR=winfsp-work cygport fuse.cygport download prep compile install package + rm -rf $(Build) + mkdir -p $(Build) + ( \ + cd `git rev-parse --show-toplevel` && \ + Stash=`git stash create` && \ + git archive --prefix=winfsp-work-$(Arch)/ --format=tar.gz $${Stash:-HEAD} \ + ) > $(Build)/winfsp-work-$(Arch).tar.gz + cp fuse/fuse.cygport $(Build)/fuse.cygport + CYGPORT_SRC_URI=winfsp-work-$(Arch).tar.gz CYGPORT_SRC_DIR=winfsp-work-$(Arch) \ + cygport $(Build)/fuse.cygport download prep compile install package +.PHONY: dist dist: cygport - case $(shell uname -m) in \ - x86_64)\ + case $(Arch) in \ + x86_64) \ mkdir -p dist/x64 && \ - cp fuse-*/dist/fuse/fuse-*[0-9].tar.xz dist/x64 ;;\ - *)\ + rm -f dist/x64/fuse-*[0-9].tar.xz && \ + cp build/fuse-*[0-9].$(Arch)/dist/fuse/fuse-*[0-9].tar.xz dist/x64 ;; \ + i686) \ mkdir -p dist/x86 && \ - cp fuse-*/dist/fuse/fuse-*[0-9].tar.xz dist/x86 ;;\ + rm -f dist/x86/fuse-*[0-9].tar.xz && \ + cp build/fuse-*[0-9].$(Arch)/dist/fuse/fuse-*[0-9].tar.xz dist/x86 ;; \ esac diff --git a/opt/cygfuse/fuse/Makefile b/opt/cygfuse/fuse/Makefile new file mode 100644 index 00000000..82bf4713 --- /dev/null +++ b/opt/cygfuse/fuse/Makefile @@ -0,0 +1,29 @@ +Version = $(shell sed -n '/^VERSION=/s/VERSION=\(.*\)/\1/p' fuse.cygport) +Arch = $(shell uname -m) +Build = build/$(Arch) +#Debug = -g + +.PHONY: build test +build: $(Build)/cygfuse-$(Version).dll $(Build)/fuse.pc +test: $(Build)/cygfuse-test.exe + +$(Build)/cygfuse-$(Version).dll: cygfuse.c fuse.cygport + @mkdir -p $(Build) + gcc $(Debug) \ + -shared -o $(Build)/cygfuse-$(Version).dll \ + -Wl,--out-implib=$(Build)/libfuse-$(Version).dll.a \ + -I../../../inc/fuse \ + cygfuse.c + [ -n "$(Debug)" ] || strip $(Build)/cygfuse-$(Version).dll + +$(Build)/fuse.pc: fuse.pc.in fuse.cygport + @mkdir -p $(Build) + sed "s/@Version@/$(Version)/g" fuse.pc.in > $(Build)/fuse.pc + +$(Build)/cygfuse-test.exe: cygfuse-test.c $(Build)/cygfuse-$(Version).dll + @mkdir -p $(Build) + gcc $(Debug) \ + -o $(Build)/cygfuse-test.exe \ + -I../../../inc/fuse -DCYGFUSE \ + cygfuse-test.c \ + -L$(PWD)/$(Build) -lfuse-$(Version) diff --git a/opt/cygfuse/cygfuse-test.c b/opt/cygfuse/fuse/cygfuse-test.c similarity index 100% rename from opt/cygfuse/cygfuse-test.c rename to opt/cygfuse/fuse/cygfuse-test.c diff --git a/opt/cygfuse/cygfuse.c b/opt/cygfuse/fuse/cygfuse.c similarity index 99% rename from opt/cygfuse/cygfuse.c rename to opt/cygfuse/fuse/cygfuse.c index 7254d6fa..291b32b0 100644 --- a/opt/cygfuse/cygfuse.c +++ b/opt/cygfuse/fuse/cygfuse.c @@ -1,5 +1,5 @@ /** - * @file cygfuse/cygfuse.c + * @file fuse/cygfuse.c * * @copyright 2015-2018 Bill Zissimopoulos */ diff --git a/opt/cygfuse/fuse.cygport b/opt/cygfuse/fuse/fuse.cygport similarity index 89% rename from opt/cygfuse/fuse.cygport rename to opt/cygfuse/fuse/fuse.cygport index 29cabd13..88fdbadf 100644 --- a/opt/cygfuse/fuse.cygport +++ b/opt/cygfuse/fuse/fuse.cygport @@ -1,6 +1,6 @@ NAME="fuse" VERSION=2.8 -RELEASE=8 +RELEASE=9 CATEGORY="Utils" SUMMARY="WinFsp-FUSE compatibility layer" DESCRIPTION="WinFsp-FUSE enables FUSE file systems to be run on Cygwin." @@ -12,7 +12,7 @@ SRC_DIR=${CYGPORT_SRC_DIR:-winfsp-master} src_compile() { lndirs - cd ${B}/opt/cygfuse + cd ${B}/opt/cygfuse/fuse make } @@ -25,7 +25,7 @@ src_install() doinclude fuse_opt.h doinclude winfsp_fuse.h - cd ${B}/opt/cygfuse + cd ${B}/opt/cygfuse/fuse/build/$(ARCH) dobin cygfuse-${VERSION}.dll dolib libfuse-${VERSION}.dll.a dosym libfuse-${VERSION}.dll.a /usr/lib/libfuse.dll.a diff --git a/opt/cygfuse/fuse.pc.in b/opt/cygfuse/fuse/fuse.pc.in similarity index 100% rename from opt/cygfuse/fuse.pc.in rename to opt/cygfuse/fuse/fuse.pc.in