
PROGS = kill mdassemble mknod modprobe parseblock pidof
OBJS = name_to_dev_t.o
HEADERS = name_to_dev_t.h list.h

DESTDIR =
PREFIX = /usr/lib/klibc/bin

MKDIR = /bin/mkdir
INSTALL = /bin/install -c -m 755
PWD = $(shell pwd)

KLCC = /usr/bin/klcc
CC   = $(KLCC)
LD   = $(KLCC)

CFLAGS   = -g -O2 -pipe -D_FILE_OFFSET_BITS=64 #-DDEBUG
WARNINGS = -Wall -Wstrict-prototypes -Wsign-compare -Wchar-subscripts \
           -Wpointer-arith -Wcast-align -Wsign-compare
CFLAGS  += $(WARNINGS)
LDFLAGS =

#pretty print!
E = @echo
Q = @

all: $(PROGS)
.PHONY: all
.DEFAULT: all

%.o: %.c
	$(E) "  compile " $@
	$(Q) $(CC) -c $(CFLAGS) $< -o $@

kill: kill.o $(HEADERS) $(OBJS)
	$(E) ">>build   " $@
	$(Q) $(LD) $(LDFLAGS) $@.o $(OBJS) -o $@ $(LIB_OBJS)

mdassemble: mdassemble.o $(HEADERS) $(OBJS)
	$(E) ">>build   " $@
	$(Q) $(LD) $(LDFLAGS) $@.o $(OBJS) -o $@ $(LIB_OBJS)

mknod: mknod.o $(HEADERS) $(OBJS)
	$(E) ">>build   " $@
	$(Q) $(LD) $(LDFLAGS) $@.o $(OBJS) -o $@ $(LIB_OBJS)

modprobe: modprobe.o $(HEADERS) $(OBJS)
	$(E) ">>build   " $@
	$(Q) $(LD) $(LDFLAGS) $@.o $(OBJS) -o $@ $(LIB_OBJS)

parseblock: parseblock.o $(HEADERS) $(OBJS)
	$(E) ">>build   " $@
	$(Q) $(LD) $(LDFLAGS) $@.o $(OBJS) -o $@ $(LIB_OBJS)

pidof: pidof.o $(HEADERS) $(OBJS)
	$(E) ">>build   " $@
	$(Q) $(LD) $(LDFLAGS) $@.o $(OBJS) -o $@ $(LIB_OBJS)

clean:
	$(E) "  clean   "
	$(Q) rm -f $(PROGS) *.o
.PHONY: clean

install: all
	$(MKDIR) -p $(DESTDIR)$(PREFIX)/
	$(INSTALL) $(PROGS) $(DESTDIR)$(PREFIX)/
.PHONY: install

uninstall:
	cd $(DESTDIR)$(PREFIX)/
	rm $(PROGS)
.PHONY: uninstall
