#
# Makefile for lkcd_config -- based on lcrash Makefile
#
# Copyright 1999 Silicon Graphics, Inc. All rights reserved.
# Copyright 2001 Matt D. Robinson (yakker@aparity.com). All rights reserved.
#
-include ../.config
DEPTH  = .
include $(DEPTH)/commondefs

TARGET    = lkcd_config
CFILES    = lkcd_config.c
LIBS      = -lz
LFLAGS    = -L$(LKCDDIR)/libklib
OFILES    = $(CFILES:.c=.o)
SUB_DIRS  = man

ifeq ($(SYS_VER),2.6)
EXTRA_CFLAGS += -DIOCTL26
endif

ifeq ($(TARGET_ARCH_ALPHA),y)
DUMP_ARCH += $(DUMP_ALPHA)
EXTRA_CFLAGS += -DDUMP_ARCH_ALPHA
endif
ifeq ($(TARGET_ARCH_I386),y)
DUMP_ARCH += $(DUMP_I386)
EXTRA_CFLAGS += -DDUMP_ARCH_I386
endif
ifeq ($(TARGET_ARCH_IA64),y)
DUMP_ARCH += $(DUMP_IA64)
EXTRA_CFLAGS += -DDUMP_ARCH_IA64
endif
ifeq ($(TARGET_ARCH_S390),y)
DUMP_ARCH += $(DUMP_S390)
EXTRA_CFLAGS += -DDUMP_ARCH_S390
endif
ifeq ($(TARGET_ARCH_S390X),y)
DUMP_ARCH += $(DUMP_S390X)
EXTRA_CFLAGS += -DDUMP_ARCH_S390X
endif
ifeq ($(TARGET_ARCH_ARM),y)
DUMP_ARCH += $(DUMP_ARM)
EXTRA_CFLAGS += -DDUMP_ARCH_ARM
LIBS = 
endif
ifeq ($(TARGET_ARCH_XSCALE),y)
DUMP_ARCH += $(DUMP_ARM)
EXTRA_CFLAGS += -DDUMP_ARCH_ARM -DCONFIG_CPU_XSCALE
LIBS = 
endif
ifeq ($(TARGET_ARCH_PPC64),y)
DUMP_ARCH += $(DUMP_PPC64)
EXTRA_CFLAGS += -DDUMP_ARCH_PPC64
endif
ifeq ($(TARGET_ARCH_X86_64),y)
DUMP_ARCH += $(DUMP_X86_64)
EXTRA_CFLAGS += -DDUMP_ARCH_X86_64
endif

# check that libklib supports host arch as dump arch
EXTRA_CFLAGS +=

all: default

default: $(TARGET)

$(TARGET): subdirs_make
	$(CC) -o $@ $(LDFLAGS) $(LFLAGS) $(OFILES) $(LIBS)

subdirs_make: $(OFILES)
	for dir in $(SUB_DIRS) ; do \
		( cd $$dir && $(MAKE) ) || exit $$? ; \
	done

clean:
	/bin/rm -f *.o
	for dir in $(SUB_DIRS) ; do \
		( cd $$dir && \
		$(MAKE) ARCH=$(ARCH) clean ) || exit $$? ; \
	done

clobber: clean
	/bin/rm -f $(TARGET)

$(OFILES): $(HEADERS)

#
# We avoid this for now -- you'll need to do a make clobber followed
# by a make if you want to fix this later.
#
$(HEADERS): symlinks

symlinks:
	/bin/rm -f $(HPATH)/arch
	(cd $(LKCDDIR)/libklib &&  $(MAKE) ARCH=$(ARCH) symlinks)

headers exports:

install: $(TARGET)
	mkdir -p $(ROOT)/sbin
	mkdir -p $(ROOT)$(mandir)/man1
	install -m 755 $(TARGET) $(ROOT)/sbin
	install -m 644 man/*.1 $(ROOT)$(mandir)/man1
