# make apple2fs driver

RUNNING := /lib/modules/$(shell uname -r)/build
KERNEL_DIR := $(shell if test -d $(RUNNING); then echo $(RUNNING); else echo /usr/src/linux; fi)
CURRENT := $(shell grep "UTS_RELEASE" $(KERNEL_DIR)/include/linux/version.h | cut -d'"' -f2)
MODULE_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(CURRENT)/kernel/drivers/char
MANDIR := /usr/local/man/man4
INCLUDE = -I/usr/local/include
KINCLUDE = -I$(KERNEL_DIR)/include $(INCLUDE)
CFLAGS = -D__KERNEL__ -DMODULE -O -c -Wall -mpreferred-stack-boundary=2 $(KINCLUDE)
AFLAGS = -O -Wall -Xlinker --strip-all $(INCLUDE)
CC = gcc
LD = ld

TARGET = apple2fs.o
OBJS = super.o inode.o dir.o file.o
HEADERS = apple2fs.h makefile

all:	$(TARGET)

$(TARGET):	$(OBJS) $(HEADERS)
	$(LD) -r -o $@ $(OBJS)

$(OBJS):	%.o:	%.c $(HEADERS)
	$(CC) $(CFLAGS) -o $@ $<

% :	%.c $(HEADERS)
	$(CC) $(AFLAGS) $< -o $@@

install:	$(OBJS)
	install -d $(MODULE_DIR) $(MANDIR)
	install -c $(TARGET) $(MODULE_DIR)/.

uninstall:
	cd $(MODULE_DIR); rm -f $(TARGET)

clean:
	rm -f $(TARGET) $(OBJS) *~ core

