このコミットが含まれているのは:
守矢諏訪子 2023-07-09 12:01:17 +09:00
コミット 8e491d66f8
18個のファイルの変更97行の追加128行の削除

7
.gitignore vendored
ファイルの表示

@ -1,4 +1,3 @@
*
!/*
!/**/Makefile
!/**/*.zig
*.o
*.tar.gz
/bin

ファイルの表示

@ -1,33 +1,20 @@
NAME=coreutils
VERSION=0.0.1
VERSION := $(shell cat version.zig | grep "pub const version" | awk '{print $$5}' | sed "s/\"//g" | sed "s/;//")
PREFIX=/usr
MANPREFIX=${PREFIX}/share/man
PROG=cat cp ls mkdir pwd rm touch
CC=zig build-exe
RELEASE=ReleaseSmall
all:
mkdir bin
cd cat && make && mv cat ../bin && rm -rf cat.o && cd ..
cd cp && make && mv cp ../bin && rm -rf cp.o && cd ..
cd ls && make && mv ls ../bin && rm -rf ls.o && cd ..
cd mkdir && make && mv mkdir ../bin && rm -rf mkdir.o && cd ..
cd pwd && make && mv pwd ../bin && rm -rf pwd.o && cd ..
cd rm && make && mv rm ../bin && rm -rf rm.o && cd ..
cd touch && make && mv touch ../bin && rm -rf touch.o && cd ..
all: ${PROG}
%: %.zig
mkdir -p bin
${CC} $< -O ${RELEASE} --name $@
mv $@ bin
mv $@.o bin
clean:
rm -rf bin
rm -rf bin/${PROG}
install: all
mkdir -p ${DESTDIR}${PREFIX}/bin
cp -f bin/* ${DESTDIR}${PREFIX}/bin
chmod 755 ${DESTDIR}${PREFIX}/bin/cat
chmod 755 ${DESTDIR}${PREFIX}/bin/cp
chmod 755 ${DESTDIR}${PREFIX}/bin/ls
chmod 755 ${DESTDIR}${PREFIX}/bin/mkdir
chmod 755 ${DESTDIR}${PREFIX}/bin/pwd
chmod 755 ${DESTDIR}${PREFIX}/bin/rm
chmod 755 ${DESTDIR}${PREFIX}/bin/touch
#mkdir -p ${DESTDIR}${MANPREFIX}/man1
#sed "s/VERSION/${VERSION}/g" < ${NAME}.1 > ${DESTDIR}${MANPREFIX}/man1/${NAME}.1
#chmod 644 ${DESTDIR}${MANPREFIX}/man1/${NAME}.1
.PHONY: all clean dist install
.PHONY: all clean

73
TODO.md ノーマルファイル
ファイルの表示

@ -0,0 +1,73 @@
* [ ] awk
* [ ] basename
* [-] cat
* [ ] chmod
* [ ] chown
* [ ] cksum
* [-] cp
* [ ] date
* [ ] dd
* [ ] df
* [ ] diff
* [ ] du
* [ ] echo
* [ ] env
* [ ] grep
* [ ] groups
* [ ] head
* [ ] hostid
* [ ] hostname
* [ ] id
* [ ] install
* [ ] kill
* [ ] ln
* [-] ls
* [ ] md5sum
* [x] mkdir
* [ ] mkfifo
* [ ] mknod
* [ ] mktemp
* [ ] mv
* [ ] nl
* [ ] od
* [ ] pathchk
* [ ] pr
* [ ] printenv
* [ ] ptx
* [x] pwd
* [ ] readlink
* [ ] realpath
* [x] rm
* [ ] rmdir
* [ ] runcon
* [ ] seq
* [ ] shred
* [ ] shuf
* [ ] sleep
* [ ] sort
* [ ] split
* [ ] stat
* [ ] stdbuf
* [ ] stty
* [ ] sum
* [ ] tac
* [ ] tail
* [ ] tee
* [ ] test
* [ ] time
* [ ] timeout
* [-] touch
* [ ] tr
* [ ] truncate
* [ ] tsort
* [ ] tty
* [ ] uname
* [ ] unexpand
* [ ] uniq
* [ ] unlink
* [ ] uptime
* [ ] users
* [ ] vdir
* [ ] wc
* [ ] who
* [ ] whoami

ファイルの表示

@ -2,7 +2,7 @@ const std = @import("std");
const fs = std.fs;
const io = std.io;
const version = "1.0.0";
const version = @import("version.zig").version;
fn help() !void {
const stdof = io.getStdOut().writer();

ファイルの表示

@ -1,13 +0,0 @@
NAME=cat
VERSION := $(shell cat ../Makefile | grep "VERSION=" | sed 's/VERSION=//')
SRC=${NAME}.zig
CC=zig build-exe
RELEASE=ReleaseSmall
all:
${CC} ${SRC} -O ${RELEASE} --name ${NAME}
clean:
rm -f ${NAME} ${NAME}.o
.PHONY: all clean

ファイルの表示

@ -2,7 +2,7 @@ const std = @import("std");
const fs = std.fs;
const io = std.io;
const version = "1.0.0";
const version = @import("version.zig").version;
fn help() !void {
const stdof = io.getStdOut().writer();

ファイルの表示

@ -1,13 +0,0 @@
NAME=cp
VERSION := $(shell cat ../Makefile | grep "VERSION=" | sed 's/VERSION=//')
SRC=${NAME}.zig
CC=zig build-exe
RELEASE=ReleaseSmall
all:
${CC} ${SRC} -O ${RELEASE} --name ${NAME}
clean:
rm -f ${NAME} ${NAME}.o
.PHONY: all clean

ファイルの表示

@ -2,7 +2,7 @@ const std = @import("std");
const fs = std.fs;
const io = std.io;
const version = "1.0.0";
const version = @import("version.zig").version;
fn help() !void {
const stdof = io.getStdOut().writer();

ファイルの表示

@ -1,13 +0,0 @@
NAME=ls
VERSION := $(shell cat ../Makefile | grep "VERSION=" | sed 's/VERSION=//')
SRC=${NAME}.zig
CC=zig build-exe
RELEASE=ReleaseSmall
all:
${CC} ${SRC} -O ${RELEASE} --name ${NAME}
clean:
rm -f ${NAME} ${NAME}.o
.PHONY: all clean

ファイルの表示

@ -2,7 +2,7 @@ const std = @import("std");
const fs = std.fs;
const io = std.io;
const version = "1.0.0";
const version = @import("version.zig").version;
fn help() !void {
const stdof = io.getStdOut().writer();

ファイルの表示

@ -1,13 +0,0 @@
NAME=mkdir
VERSION := $(shell cat ../Makefile | grep "VERSION=" | sed 's/VERSION=//')
SRC=${NAME}.zig
CC=zig build-exe
RELEASE=ReleaseSmall
all:
${CC} ${SRC} -O ${RELEASE} --name ${NAME}
clean:
rm -f ${NAME} ${NAME}.o
.PHONY: all clean

ファイルの表示

@ -3,7 +3,7 @@ const io = std.io;
const os = std.os;
const fs = std.fs;
const version = "1.0.0";
const version = @import("version.zig").version;
fn help() !void {
const stdof = io.getStdOut().writer();

ファイルの表示

@ -1,13 +0,0 @@
NAME=pwd
VERSION := $(shell cat ../Makefile | grep "VERSION=" | sed 's/VERSION=//')
SRC=${NAME}.zig
CC=zig build-exe
RELEASE=ReleaseSmall
all:
${CC} ${SRC} -O ${RELEASE} --name ${NAME}
clean:
rm -f ${NAME} ${NAME}.o
.PHONY: all clean

ファイルの表示

@ -2,7 +2,7 @@ const std = @import("std");
const fs = std.fs;
const io = std.io;
const version = "1.0.0";
const version = @import("version.zig").version;
fn help() !void {
const stdof = io.getStdOut().writer();

ファイルの表示

@ -1,13 +0,0 @@
NAME=rm
VERSION := $(shell cat ../Makefile | grep "VERSION=" | sed 's/VERSION=//')
SRC=${NAME}.zig
CC=zig build-exe
RELEASE=ReleaseSmall
all:
${CC} ${SRC} -O ${RELEASE} --name ${NAME}
clean:
rm -f ${NAME} ${NAME}.o
.PHONY: all clean

ファイルの表示

@ -2,7 +2,7 @@ const std = @import("std");
const fs = std.fs;
const io = std.io;
const version = "1.0.0";
const version = @import("version.zig").version;
fn help() !void {
const stdof = io.getStdOut().writer();

ファイルの表示

@ -1,13 +0,0 @@
NAME=touch
VERSION := $(shell cat ../Makefile | grep "VERSION=" | sed 's/VERSION=//')
SRC=${NAME}.zig
CC=zig build-exe
RELEASE=ReleaseSmall
all:
${CC} ${SRC} -O ${RELEASE} --name ${NAME}
clean:
rm -f ${NAME} ${NAME}.o
.PHONY: all clean

1
version.zig ノーマルファイル
ファイルの表示

@ -0,0 +1 @@
pub const version = "0.0.1";