CC = gcc
CFLAGS = -O3 -Wall
LDFLAGS = -static

BIN = main
OBJ = main.o ls.o true.o false.o rm.o whoami.o mount.o rmdir.o umount.o cat.o mkfifo.o cp.o hostname.o sh.o mknod.o ps.o
TARGET = ls true false rm whoami mount rmdir umount cat mkfifo cp hostname sh mknod ps

all: $(BIN)
	strip $(BIN)
	@for i in $(TARGET); do \
		ln -sf main $$i ; \
	done; \
	exit 0;

main: $(OBJ)

main.o: main.c commands.h
ls.o: ls.c ls.h
rm.o: rm.c rm.h
cat.o: cat.c cat.h
true.o: true.c true.h
false.o: false.c false.h
mount.o: mount.c mount.h
rmdir.o: rmdir.c rmdir.h
whoami.o: whoami.c whoami.h
umount.o: umount.c umount.h

clean:
	rm -f $(OBJ) core *~

distclean:
	rm -f $(OBJ) $(BIN) $(TARGET) core *~
	for i in $(TARGET) $(BIN); do rm -f ../live/bin/$$i; done;

install: all
	cp -af $(BIN) $(TARGET) ../live/bin/
