diff --git a/Makefile b/Makefile index 11eb2130..a4418198 100644 --- a/Makefile +++ b/Makefile @@ -14,35 +14,14 @@ bootloader/stage1.bin: force_look bootloader/stage2.bin: force_look cd bootloader; $(MAKE) stage2.bin -programs/one/a.out: force_look tlib/libtlib.a - cd programs/one; ${MAKE} a.out - -programs/hello/a.out: force_look tlib/libtlib.a - cd programs/hello; ${MAKE} a.out - -programs/long/a.out: force_look tlib/libtlib.a - cd programs/long; ${MAKE} a.out - -programs/longone/a.out: force_look tlib/libtlib.a - cd programs/longone; ${MAKE} a.out - -programs/longtwo/a.out: force_look tlib/libtlib.a - cd programs/longtwo; ${MAKE} a.out - -programs/loop/a.out: force_look tlib/libtlib.a - cd programs/loop; ${MAKE} a.out - -programs/keyboard/a.out: force_look tlib/libtlib.a - cd programs/keyboard; ${MAKE} a.out - -programs/tsh/tsh: force_look tlib/libtlib.a - cd programs/tsh; ${MAKE} tsh +programs: force_look tlib/libtlib.a + cd programs/; ${MAKE} dist hdd.img: dd if=/dev/zero of=hdd.img bs=516096c count=1000 (echo n; echo p; echo 1; echo ""; echo ""; echo t; echo c; echo a; echo 1; echo w;) | sudo fdisk -u -C1000 -S63 -H16 hdd.img -thor.flp: hdd.img bootloader/stage1.bin bootloader/stage2.bin kernel/kernel.bin programs/one/a.out programs/hello/a.out programs/long/a.out programs/loop/a.out programs/longone/a.out programs/longtwo/a.out programs/keyboard/a.out programs/tsh/tsh +thor.flp: hdd.img bootloader/stage1.bin bootloader/stage2.bin kernel/kernel.bin programs mkdir -p mnt/fake/ dd if=bootloader/stage1.bin of=hdd.img conv=notrunc dd if=bootloader/stage2.bin of=hdd.img seek=1 conv=notrunc @@ -50,14 +29,7 @@ thor.flp: hdd.img bootloader/stage1.bin bootloader/stage2.bin kernel/kernel.bin sudo /usr/sbin/mkdosfs -F32 /dev/loop0 sudo /bin/mount -t vfat /dev/loop0 mnt/fake/ sudo /bin/cp kernel/kernel.bin mnt/fake/ - sudo /bin/cp programs/one/a.out mnt/fake/one - sudo /bin/cp programs/hello/a.out mnt/fake/hello - sudo /bin/cp programs/long/a.out mnt/fake/long - sudo /bin/cp programs/longone/a.out mnt/fake/longone - sudo /bin/cp programs/longtwo/a.out mnt/fake/longtwo - sudo /bin/cp programs/loop/a.out mnt/fake/loop - sudo /bin/cp programs/keyboard/a.out mnt/fake/keyboard - sudo /bin/cp programs/tsh/tsh mnt/fake/tsh + sudo /bin/cp programs/dist/* mnt/fake/ sleep 0.1 sudo /bin/umount mnt/fake/ sudo /sbin/losetup -d /dev/loop0 @@ -84,14 +56,7 @@ force_look: clean: cd bootloader; $(MAKE) clean cd kernel; $(MAKE) clean - cd programs/one; $(MAKE) clean - cd programs/hello; $(MAKE) clean - cd programs/long;$(MAKE) clean - cd programs/loop; $(MAKE) clean - cd programs/longone; $(MAKE) clean - cd programs/longtwo; $(MAKE) clean - cd programs/keyboard; $(MAKE) clean - cd programs/tsh; $(MAKE) clean + cd programs/; $(MAKE) clean cd tlib/; $(MAKE) clean rm -f *.bin rm -f *.flp diff --git a/programs/Makefile b/programs/Makefile new file mode 100644 index 00000000..ad243d89 --- /dev/null +++ b/programs/Makefile @@ -0,0 +1,55 @@ +.PHONY: default clean force_look + +default: dist + +tlib/libtlib.a: force_look + cd ../tlib; $(MAKE) + +one: force_look tlib/libtlib.a + cd one; $(MAKE) a.out + +hello: force_look tlib/libtlib.a + cd hello; $(MAKE) a.out + +long: force_look tlib/libtlib.a + cd long; $(MAKE) a.out + +longone: force_look tlib/libtlib.a + cd longone; $(MAKE) a.out + +longtwo: force_look tlib/libtlib.a + cd longtwo; $(MAKE) a.out + +loop: force_look tlib/libtlib.a + cd loop; $(MAKE) a.out + +keyboard: force_look tlib/libtlib.a + cd keyboard; $(MAKE) a.out + +tsh: force_look tlib/libtlib.a + cd tsh; $(MAKE) tsh + +dist: one hello long loop longone longtwo keyboard tsh + mkdir dist + cp one/a.out dist/one + cp hello/a.out dist/hello + cp long/a.out dist/long + cp longone/a.out dist/longone + cp longtwo/a.out dist/longtwo + cp loop/a.out dist/loop + cp keyboard/a.out dist/keyboard + cp tsh/tsh dist/tsh + +force_look: + true + +clean: + cd one; $(MAKE) clean + cd hello; $(MAKE) clean + cd long;$(MAKE) clean + cd loop; $(MAKE) clean + cd longone; $(MAKE) clean + cd longtwo; $(MAKE) clean + cd keyboard; $(MAKE) clean + cd tsh; $(MAKE) clean + rm -rf dist diff --git a/programs/dist/hello b/programs/dist/hello new file mode 100755 index 00000000..cba591be Binary files /dev/null and b/programs/dist/hello differ diff --git a/programs/dist/keyboard b/programs/dist/keyboard new file mode 100755 index 00000000..fc186ad7 Binary files /dev/null and b/programs/dist/keyboard differ diff --git a/programs/dist/long b/programs/dist/long new file mode 100755 index 00000000..627d853d Binary files /dev/null and b/programs/dist/long differ diff --git a/programs/dist/longone b/programs/dist/longone new file mode 100755 index 00000000..d2d14be6 Binary files /dev/null and b/programs/dist/longone differ diff --git a/programs/dist/longtwo b/programs/dist/longtwo new file mode 100755 index 00000000..51c3645d Binary files /dev/null and b/programs/dist/longtwo differ diff --git a/programs/dist/loop b/programs/dist/loop new file mode 100755 index 00000000..77c037be Binary files /dev/null and b/programs/dist/loop differ diff --git a/programs/dist/one b/programs/dist/one new file mode 100755 index 00000000..4853e8fb Binary files /dev/null and b/programs/dist/one differ diff --git a/programs/dist/tsh b/programs/dist/tsh new file mode 100755 index 00000000..dcbffd77 Binary files /dev/null and b/programs/dist/tsh differ diff --git a/programs/hello/Makefile b/programs/hello/Makefile index cc7dd424..e20adc91 100644 --- a/programs/hello/Makefile +++ b/programs/hello/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out diff --git a/programs/keyboard/Makefile b/programs/keyboard/Makefile index cc7dd424..e20adc91 100644 --- a/programs/keyboard/Makefile +++ b/programs/keyboard/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out diff --git a/programs/long/Makefile b/programs/long/Makefile index cc7dd424..e20adc91 100644 --- a/programs/long/Makefile +++ b/programs/long/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out diff --git a/programs/longone/Makefile b/programs/longone/Makefile index cc7dd424..e20adc91 100644 --- a/programs/longone/Makefile +++ b/programs/longone/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out diff --git a/programs/longtwo/Makefile b/programs/longtwo/Makefile index cc7dd424..e20adc91 100644 --- a/programs/longtwo/Makefile +++ b/programs/longtwo/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out diff --git a/programs/loop/Makefile b/programs/loop/Makefile index be45dace..c218fe2c 100644 --- a/programs/loop/Makefile +++ b/programs/loop/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) $(PROGRAM_LINK_FLAGS) $(CPP_FLAGS_64) -o a.out main.cpp.o clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out diff --git a/programs/one/Makefile b/programs/one/Makefile index cc7dd424..e20adc91 100644 --- a/programs/one/Makefile +++ b/programs/one/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out