Project import
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..f3c32d9
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,101 @@
+#
+#    Copyright (c) 2017 Nest, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#    This Makefile is used to build libfuse, the reference implementation of
+#    the Linux FUSE (Filesystem in Userspace) interface.
+#
+include pre.mak
+
+PackageName						:= libfuse
+
+PackageSourceDir				:= $(BuildRoot)/paths/libfuse
+
+PackageBuildMakefile			= $(call GenerateBuildPaths,Makefile)
+
+LicenseSourceFile				= $(PackageSourceDir)/COPYING.LIB
+
+CleanPaths						+= $(PackageLicenseFile)
+
+SOURCEDIRS						= $(PackageSourceDir)
+$(PackageSourceDir)_RULE_TARGET = $(BuildDirectory)/build
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(LicenseSourceFile): $(BuildDirectory)/source
+
+$(PackageLicenseFile): $(LicenseSourceFile)
+	$(copy-result)
+
+# Prepare the sources.
+
+$(BuildDirectory)/source: | $(PackageSourceDir) $(BuildDirectory)
+	$(Verbose)touch $@
+
+# Patch the sources, if necessary.
+
+$(BuildDirectory)/patch: $(BuildDirectory)/source
+	$(Verbose)touch $@
+
+# Generate configure script
+
+$(BuildDirectory)/autoconf: $(BuildDirectory)/source
+	$(Verbose)cd $(PackageSourceDir) && \
+	./makeconf.sh
+	$(Verbose)touch $@
+
+# Configure the source for building.
+
+$(BuildDirectory)/configure: $(BuildDirectory)/source $(BuildDirectory)/autoconf| $(PackageSourceDir) $(BuildDirectory)
+	$(Verbose)cd $(BuildDirectory) && \
+	$(PackageSourceDir)/configure \
+	CC="$(CC) $(CPPOPTFLAGS)" CXX="$(CXX) $(CXXOPTFLAGS)" AR=$(AR) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	CPPFLAGS="$(call ToolGenerateIncludeArgument,$(LinuxIncludePath))" \
+	INSTALL="$(INSTALL) $(INSTALLFLAG)" \
+	--build=$(HostTuple) \
+	--host=$(TargetTuple) \
+	--prefix=$(addprefix $(LibPrefixConfigOption),/usr) \
+	--sysconfdir=$(addprefix $(LibPrefixConfigOption),/etc) \
+	--localstatedir=$(addprefix $(LibPrefixConfigOption),/var) \
+	--enable-static=no
+	$(Verbose)touch $@
+
+# Build the source.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+$(BuildDirectory)/build: $(BuildDirectory)/configure | $(BuildDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) \
+	all
+	$(Verbose)touch $@
+
+# Stage the build to a temporary installation area.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+$(BuildDirectory)/stage: $(BuildDirectory)/build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) \
+	$(call GenerateLibraryDestinationArgument,$(ResultDirectory)) \
+	install
+	$(Verbose)touch $@
+
+.PHONY: stage
+stage: $(BuildDirectory)/stage
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak