# Makefile for nvramd #

CUR_PATH := $(shell pwd)

STRIPTOOL = $(CROSS)strip

LDFLAGS += \
	-Wl,--no-fatal-warnings

CFLAGS += -g $(SSP_ALL_CFLAGS) -DUSE_HOSTCC
CFLAGS += -DCONFIG_RALINKAPP_USER_NVRAMD
#CFLAGS += -I$(ROOTDIR)/$(LINUXDIR)/include

ifeq ($(CONFIG_SUPPORT_OPENWRT), y)
LDFLAGS += -lnvram
else
#CONF_H	= $(ROOTDIR)/$(LINUXDIR)/include/linux/autoconf.h
CONF_H	= $(ROOTDIR)/kernel_headers/include/linux/autoconf.h
UCONF_H	= $(ROOTDIR)/config/autoconf.h
LDFLAGS += -L$(ROOTDIR)/lib/libnvram -lnvram
CFLAGS += -I$(ROOTDIR)/kernel_headers/include/
CFLAGS  += -I$(ROOTDIR)/lib/libnvram
endif

EXEC := nvramd
SRCS := \
	$(CUR_PATH)/crc32.c \
	$(CUR_PATH)/flash_api.c \
	$(CUR_PATH)/nvram_srv_env.c \
	$(CUR_PATH)/nvram_socket_srv.c \
	$(NULL)
#	$(CUR_PATH)/linux_socket.c \
	$(CUR_PATH)/sys_debug.c \
	$(NULL)

SRC_DIRS := $(sort $(dir $(SRCS)))

OBJS := $(addprefix $(OBJ_PATH)/, $(notdir $(SRCS:.c=.o)))

all: $(CONF_H) $(UCONF_H) $(OBJS) $(EXEC)

$(OBJ_PATH)/%.o: %.c
	$(CC) $(PRE_CFLAGS) $(CFLAGS) -c -o $@ $<
	$(STRIPTOOL) -x -R .note -R .comment $(OBJ_PATH)/$*.o

$(EXEC): $(OBJS)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(BIN_PATH)/$@ $^

romfs: 
	for i in $(EXEC) ; do $(ROMFSINST) $(BIN_PATH)/$$i /bin/$$i ; done

clean:
	for i in $(OBJS); do rm -f $$i; done
	for i in $(EXEC); do rm -f $(BIN_PATH)/$$i; done
	@echo $(EXEC) cleaned.
