
.EXPORT_ALL_VARIABLES:

EXECS = owhttpd owhttpd.static
OBJS = owhttpd.o owhttpd_handler.o




ifndef OWFS_DIR
OWFS_DIR := ../../../..
endif
ifndef USB_DIR
USB_DIR := ../../../../../libusb
endif

all: $(EXECS)

CFLAGS += -I${OWFS_DIR}/module/owlib/src/include -I../include -I${OWFS_DIR}/src/include

ifdef ENABLE_CACHE
CFLAGS += -DOW_CACHE
endif
ifdef ENABLE_MT
CFLAGS += -DOW_MT
endif
ifdef ENABLE_USB
CFLAGS += -DOW_USB
CFLAGS += -I${USB_DIR}
USBLIBS = ${USB_DIR}/libusb.a
endif

LDFLAGS =  $(CFLAGS) -L${UCLIBCDIR}lib
LDLIBS = -Wl,-L${UCLIBCDIR}lib


OWLIBS = ${OWFS_DIR}/module/owlib/src/c/libow.a

EXTRALIBS =
EXTRALIBS_STATIC =











ifdef LIBOW_SHARED
LDFLAGS  += -L${OWFS_DIR}/module/owlib/src/c/
LDLIBS   += -Wl,-L${OWFS_DIR}/module/owlib/src/c/
EXTRALIBS += -low
EXTRALIBS_STATIC += $(OWLIBS)
else
EXTRALIBS += $(OWLIBS)
EXTRALIBS_STATIC += $(OWLIBS)
endif

ifdef ENABLE_USB
EXTRALIBS += $(USBLIBS)
EXTRALIBS_STATIC += $(USBLIBS)
endif





$(OWLIBS):
	cd ${OWFS_DIR}/module/owlib ; make

owhttpd: $(OBJS) $(OWLIBS) $(USBLIBS)
	$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) -lc $(LIBPTHREAD) $(EXTRALIBS)

owhttpd.static: $(OBJS) $(OWLIBS) $(USBLIBS)
	$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) $(LIBPTHREAD) $(EXTRALIBS_STATIC) -static

romfs:
	$(ROMFSINST) /usr/bin/owhttpd

install:
	install -d $(INSTALLDIR)/usr/bin
	install owhttpd $(INSTALLDIR)/usr/bin/owhttpd
#	install owhttpd.static $(INSTALLDIR)/usr/bin/owhttpd.static

clean:
	rm -f $(EXECS) *.gdb *.elf *.o *.s *.i

