diff --git a/libc/Makefile b/libc/Makefile
index 76030ad4..0ed6937c 100644
--- a/libc/Makefile
+++ b/libc/Makefile
@@ -29,7 +29,7 @@ calloc.o \
clearerr.o \
c++.o \
ctype.o \
-dir.o \
+dirent/dir.o \
div.o \
errno.o \
fabs.o \
@@ -181,6 +181,7 @@ $(CPUDIR)/setjmp.o \
$(CPUDIR)/signal.o \
$(CPUDIR)/syscall.o \
creat.o \
+dirent/fddir-sortix.o \
dirname.o \
dispmsg_issue.o \
dlfcn.o \
@@ -209,7 +210,6 @@ fchrootat.o \
fchroot.o \
fcloseall.o \
fcntl.o \
-fddir-sortix.o \
fdio.o \
fgetpos.o \
fileno.o \
diff --git a/libc/dir.c b/libc/dirent/dir.c
similarity index 99%
rename from libc/dir.c
rename to libc/dirent/dir.c
index c0dc8e9a..7d273867 100644
--- a/libc/dir.c
+++ b/libc/dirent/dir.c
@@ -17,7 +17,7 @@
You should have received a copy of the GNU Lesser General Public License
along with the Sortix C Library. If not, see .
- dir.c
+ dirent/dir.c
DIR* is an interface allowing various directory backends.
*******************************************************************************/
diff --git a/libc/fddir-sortix.c b/libc/dirent/fddir-sortix.c
similarity index 99%
rename from libc/fddir-sortix.c
rename to libc/dirent/fddir-sortix.c
index fa800a15..7d23c990 100644
--- a/libc/fddir-sortix.c
+++ b/libc/dirent/fddir-sortix.c
@@ -17,7 +17,7 @@
You should have received a copy of the GNU Lesser General Public License
along with the Sortix C Library. If not, see .
- fddir-sortix.c
+ dirent/fddir-sortix.c
Handles the file descriptor backend for the DIR* API on Sortix.
*******************************************************************************/
diff --git a/libc/sortix/dirent/.gitignore b/libc/sortix/dirent/.gitignore
new file mode 100644
index 00000000..e69de29b