summaryrefslogtreecommitdiff
path: root/userspace/Makefile
blob: 49d93a030dce05bfb7ab1c6ca8515d0d2f9f2bfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70

CC=i686-foolos-gcc

CFLAGS=
CFLAGS+=-I..
CFLAGS+=-w
CFLAGS+=-std=gnu11
CFLAGS+=-O0
CFLAGS+=-g
#CFLAGS+=-fstack-protector-all

LDFLAGS=

PROGS=foolshell ls simple brainfuck add checker clear task1 task2 init cat snake

include ../Makefile.common

ext2.img: $(PROGS) ../mp/mp.bin
	dd if=/dev/zero of=ext2.img bs=512 count=50000
	sudo mkfs.ext2 -O none ext2.img -F
	mkdir mnt
	sudo mount ext2.img mnt
	sudo chown miguel mnt
	mkdir -p mnt/home/miguel
	mkdir -p mnt/boot
	echo "hello one" > mnt/home/miguel/test1.txt
	mkdir -p mnt/bin
	cp $^ mnt/bin
	echo "++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++." > mnt/home/miguel/hello.brain
#	cp ~/temp/fool-os-stuff/binutils-build-host-foolos/binutils/readelf mnt/bin
#	cp ../font/binfont.bin mnt/
#	cp ~/temp/fool-os-stuff/ncurses/ncurses-5.9-build/progs/* mnt/bin/
	cp ~/opt/foolos/usr/bin/worm mnt/bin/
	cp ~/opt/foolos/usr/bin/dots mnt/bin/
	cp ~/opt/foolos/usr/bin/background mnt/bin/
	cp ~/opt/foolos/usr/bin/view mnt/bin/
	cp ~/opt/foolos/usr/bin/ncurses mnt/bin/
	cp ~/opt/foolos/usr/bin/bs mnt/bin/
	cp ../mp/mp.bin mnt/boot/
	mkdir -p mnt/etc
	echo "127.0.0.1  localhost" > mnt/etc/hosts
	sync
	sudo umount mnt
	rm mnt -rf

brainfuck: brainfuck.o
snake: snake.o
foolshell: foolshell.o
simple: simple.o
add: add.o
	$(CC) -o $@ $< -lm
checker: checker.o
task1: task1.o
task2: task2.o
init: init.o
cat: cat.o

clean:
	-rm *.o $(PROGS) ext2.img *.d

mount:
	mkdir mnt
	sudo mount ext2.img mnt
	sudo chown miguel mnt

umount:
	sudo umount mnt
	rm mnt -rf

new: clean ext2.img