osd-contiki/examples/webserver/Makefile
oliverschmidt b2810f02e1 Many project Makefiles build just one Contiki binary. Up to now the name of this binary was only available to the 'all' goal as prerequisite. So it was possible to create a non-project-specific rule to i.e. load that binary into the target device.
Therefore I introduced the make variable CONTIKI_PROJECT. Now a typical project Makefile starts with:

CONTIKI_PROJECT = hello-world
all: $(CONTIKI_PROJECT)
2008-05-26 07:37:24 +00:00

40 lines
1.4 KiB
Makefile

CONTIKI_PROJECT = webserver-example
all: $(CONTIKI_PROJECT)
APPS = webserver
DEFAULT_TARGET = minimal-net
# The webserver application normally contains a built-in file system and support
# for server-side includes.
#
# This webserver example supports building the alternative webserver application
# which serves files from an cfs file system. To build the alternative webserver
# run make with the parameter HTTPD-CFS=1.
ifeq ($(HTTPD-CFS),1)
override webserver_src = webserver-nogui.c http-strings.c psock.c memb.c \
httpd-cfs.c
endif
CONTIKI = ../..
include $(CONTIKI)/Makefile.include
# Intentionally httpd.c and httpd-cfs.c implement the same interface. When
# switching from one webserver alternative to the other with an existent
# Contiki library then both files end up in the library making the linker
# use whichever it finds first :-(
#
# The most straightforward way to make sure this doesn't happen is to delete
# the Contiki library. But it would be undesirable to do that on every build
# so the existence of the "wrong" object file is used to detect a switch and
# trigger deletion of the Contiki library - and the trigger file of course.
ifeq ($(HTTPD-CFS),1)
ifneq (${wildcard $(OBJECTDIR)/httpd.o},)
DUMMY := ${shell rm -f contiki-$(TARGET).a $(OBJECTDIR)/httpd.o}
endif
else
ifneq (${wildcard $(OBJECTDIR)/httpd-cfs.o},)
DUMMY := ${shell rm -f contiki-$(TARGET).a $(OBJECTDIR)/httpd-cfs.o}
endif
endif