summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--share/mk/bsd.obj.mk4
-rw-r--r--usr.bin/readlink/Makefile6
-rw-r--r--usr.bin/readlink/readlink.c20
3 files changed, 28 insertions, 2 deletions
diff --git a/share/mk/bsd.obj.mk b/share/mk/bsd.obj.mk
index ee77cac36ac..df415ef9e57 100644
--- a/share/mk/bsd.obj.mk
+++ b/share/mk/bsd.obj.mk
@@ -1,4 +1,4 @@
-# $OpenBSD: bsd.obj.mk,v 1.8 1997/05/03 11:32:46 niklas Exp $
+# $OpenBSD: bsd.obj.mk,v 1.9 1997/06/12 15:22:38 kstailey Exp $
# $NetBSD: bsd.obj.mk,v 1.9 1996/04/10 21:08:05 thorpej Exp $
.if !target(obj)
@@ -38,7 +38,7 @@ obj! _SUBDIRUSE
dest=${__usrobjdir}/$$subdir${__usrobjdirpf} ; \
echo "$$here/${__objdir} -> $$dest"; \
if test ! -L ${__objdir} -o \
- X`perl -e "print readlink('${__objdir}')"` != X$$dest; \
+ X`readlink ${__objdir}` != X$$dest; \
then \
if test -e ${__objdir}; then rm -rf ${__objdir}; fi; \
ln -s $$dest ${__objdir}; \
diff --git a/usr.bin/readlink/Makefile b/usr.bin/readlink/Makefile
new file mode 100644
index 00000000000..1062c978fc1
--- /dev/null
+++ b/usr.bin/readlink/Makefile
@@ -0,0 +1,6 @@
+# $OpenBSD: Makefile,v 1.1 1997/06/12 15:22:37 kstailey Exp $
+
+PROG= readlink
+NOMAN=
+
+.include <bsd.prog.mk>
diff --git a/usr.bin/readlink/readlink.c b/usr.bin/readlink/readlink.c
new file mode 100644
index 00000000000..da5cbb5ebc2
--- /dev/null
+++ b/usr.bin/readlink/readlink.c
@@ -0,0 +1,20 @@
+#include <sys/syslimits.h>
+#include <stdio.h>
+#include <unistd.h>
+
+int
+main(argc, argv)
+int argc;
+char **argv;
+{
+ char buf[PATH_MAX];
+
+ if (argc != 2)
+ errx(1, "usage: readlink symlink");
+
+ if (readlink(argv[1], buf, PATH_MAX) < 0)
+ exit(1);
+ else
+ printf("%s", buf);
+ exit(0);
+}