CFLAGS += -Wall -I$(ROOTDIR)/libxml -I$(ROOTDIR)/utility -I$(ROOTDIR)/../../lib/libnvram -I$(ROOTDIR)/../../$(LINUXDIR)/drivers/char -I$(ROOTDIR)/include
LDFLAGS += -lpthread -lnvram

SOURCES := $(wildcard *.c)
UTIL_SOURCES = $(wildcard ../utility/*.c)
XML_SOURCES = $(wildcard ../libxml/*.c)

PROG = udev 

#Given these, maybe you want to know the names of their corresponding .o files:

OBJS := $(patsubst %.c, %.o, $(SOURCES)) 
UTIL_OBJS := $(patsubst %.c, %.o, $(UTIL_SOURCES)) 
XML_OBJS := $(patsubst %.c, %.o, $(XML_SOURCES)) 



all: $(PROG)

# The variable $@ has the value of the target. In this case $@ = prog
$(PROG): ${OBJS} ${UTIL_OBJS} ${XML_OBJS}
	@echo ${XML_OBJS}
	${CC} ${LDFLAGS} -o $@ ${OBJS} ${UTIL_OBJS} ${XML_OBJS}
#
#.c.o:
%.o: %.c
	${CC} ${CFLAGS} -c $<
#
#depend: 
#	makedepend ${SRCS}
#

%.d: %.c
	@echo $(OBJS)
	@set -e; rm -f $@; \
	$(CC) -MM $(CFLAGS) $< > $@.$$$$; \
	sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g'< $@.$$$$ > $@; \
	rm -f $@.$$$$

.PHONY: clean
clean:
	rm -f $(PROG) *.o core *.d *.d.* *~

romfs:
	$(ROMFSINST) /sbin/udev

-include $(SOURCES:.c=.d)
