raven-webserver_src = webserver-nogui.c httpd.c http-strings.c psock.c memb.c \ httpd-fs.c httpd-cgi.c raven-webserver_dsc = webserver-dsc.c #Tell platform main routine webserver is present, for parameter display at startup CFLAGS += -DWEBSERVER #$(CONTIKI)/apps/webserver/http-strings.c: $(CONTIKI)/apps/webserver/http-strings # cd $(CONTIKI)/apps/webserver/; $(CONTIKI)/tools/makestrings $< # #The default is fixed web content packed in program flash memory. Note the existing httpd-fs read #code will only work for content in the first 64KB of program flash as the linked list addresses are #only 16 bit and reads use pgm_read_byte_near. #For COFFEE_FILES=1 Fixed web content in eeprom memory. Existing files can be rewritten but not extended #For COFFEE_FILES=2 Initial web content in eeprom memory in a fully writeable coffee file system. #For COFFEE_FILES=3 Fixed web content in program flash memory. Existing files can be rewritten but not extended #For COFFEE_FILES=4 Initial webcontent in program flash memory in a fully writeable coffee file system. #The default web content is in the /httpd-fs directory. Override with $make WEBDIR=another_directory #If WEBDIR is then dropped from the command line the web content will NOT revert to the default #unless one of the files in the default directory is changed. This means a .coffeesection may still #be defined when COFFEE_FILES is dropped from the make, and a section overlap will occur during the link. #You can always safely restore the default content with $make WEBDIR=default. .PHONY : force ifdef WEBDIR FORCE=force ifeq ($(WEBDIR),default) override WEBDIR=$(CONTIKI)/platform/avr-atmega128rfa1/apps/raven-webserver/httpd-fs endif else WEBDIR=$(CONTIKI)/platform/avr-atmega128rfa1/apps/raven-webserver/httpd-fs endif WEBCSOURCE=$(CONTIKI)/platform/avr-atmega128rfa1/apps/raven-webserver/ ifdef COFFEE_ADDRESS #for now force whenever present, could test for arg passed in make FORCE=force endif $(WEBCSOURCE)httpd-fs.c: $(WEBCSOURCE)httpd-fsdata.c $(WEBCSOURCE)httpd-fsdata.c : $(FORCE) $(WEBDIR)/*.* ifeq ($(COFFEE_FILES), 1) #1=eeprom static @echo Generating web content for static eeprom coffee file system $(CONTIKI)/tools/makefsdata -C -A EEPROM -l -f 16 -d $(WEBDIR) -o $(WEBCSOURCE)httpd-fsdata.c else ifeq ($(COFFEE_FILES), 2) #2=eeprom dynamic @echo Generating web content for full eeprom coffee file system $(CONTIKI)/tools/makefsdata -C -A EEPROM -f 20 -d $(WEBDIR) -o $(WEBCSOURCE)httpd-fsdata.c else ifeq ($(COFFEE_FILES), 3) #3=program flash static @echo Generating web content for static flash coffee file system $(CONTIKI)/tools/makefsdata -C -A PROGMEM -l -f 16 -d $(WEBDIR) -o $(WEBCSOURCE)httpd-fsdata.c else ifeq ($(COFFEE_FILES), 4) #4=program flash dynamic @echo Generating initial web content for full flash coffee file system $(CONTIKI)/tools/makefsdata -C -A PROGMEM -c -f 20 -d $(WEBDIR) -o $(WEBCSOURCE)httpd-fsdata.c else @echo Generating static web content $(CONTIKI)/tools/makefsdata -A PROGMEM -l -d $(WEBDIR) -o $(WEBCSOURCE)httpd-fsdata.c endif