[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3 of 4] minios/build: Introduce application directories
On Mon, 2012-11-26 at 16:24 +0000, Andrew Cooper wrote: > Allow for separate application subdirectories when developing with > minios. > > The new system allows a developer to run: > > make XEN_TARGET_ARCH=<arch> APP=<foo> > > While maintaining separate apps in apps/<foo>/ > > There is now a requirement to have apps/<foo>/app.mk which lists the > source files, and can provide application specific configuration of > settings. How does this affect building stub domains? > The default application, daytime, has been moved to use this system, and > remains the default if no APP is provided to the invocation of make. > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > > diff -r 29138c27eb72 -r 121ae49aabcb extras/mini-os/Config.mk > --- a/extras/mini-os/Config.mk > +++ b/extras/mini-os/Config.mk > @@ -2,6 +2,10 @@ > MINI-OS_ROOT=$(XEN_ROOT)/extras/mini-os > export MINI-OS_ROOT > > +# Default to the daytime app > +MINIOS_APP_DIR := apps > +APP ?= daytime > + > libc = $(stubdom) > > XEN_INTERFACE_VERSION := 0x00030205 > diff -r 29138c27eb72 -r 121ae49aabcb extras/mini-os/Makefile > --- a/extras/mini-os/Makefile > +++ b/extras/mini-os/Makefile > @@ -15,6 +15,9 @@ EXTRA_DEPS += $(MINIOS_CONFIG) > include $(MINIOS_CONFIG) > endif > > +EXTRA_DEPS += $(MINIOS_APP_DIR)/$(APP)/app.mk > +include $(MINIOS_APP_DIR)/$(APP)/app.mk > + > # Configuration defaults > CONFIG_START_NETWORK ?= y > CONFIG_SPARSE_BSS ?= y > @@ -77,7 +80,6 @@ src-$(CONFIG_TPMFRONT) += tpmfront.c > src-$(CONFIG_TPM_TIS) += tpm_tis.c > src-$(CONFIG_TPMBACK) += tpmback.c > src-y += cmdline.c > -src-y += daytime.c > src-y += events.c > src-$(CONFIG_FBFRONT) += fbfront.c > src-y += gntmap.c > @@ -108,7 +110,6 @@ src-y += console/xencons_ring.c > src-$(CONFIG_CONSFRONT) += console/xenbus.c > > # The common mini-os objects to build. > -APP_OBJS := > OBJS := $(patsubst %.c,$(OBJ_DIR)/%.o,$(src-y)) > > .PHONY: default > @@ -181,12 +182,15 @@ endif > $(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@ > gzip -f -9 -c $@ >$@.gz > > -.PHONY: clean arch_clean > +.PHONY: clean arch_clean apps_clean > > arch_clean: > $(MAKE) --directory=$(TARGET_ARCH_DIR) > OBJ_DIR=$(OBJ_DIR)/$(TARGET_ARCH_DIR) clean || exit 1; > > -clean: arch_clean > +apps_clean: > + find $(OBJ_DIR)/$(MINIOS_APP_DIR) -name '*.o' | xargs rm -f > + > +clean: arch_clean apps_clean > for dir in $(addprefix $(OBJ_DIR)/,$(SUBDIRS)); do \ > rm -f $$dir/*.o; \ > done > diff -r 29138c27eb72 -r 121ae49aabcb extras/mini-os/apps/daytime/app.mk > --- /dev/null > +++ b/extras/mini-os/apps/daytime/app.mk > @@ -0,0 +1,1 @@ > +src-y += $(MINIOS_APP_DIR)/$(APP)/daytime.c > diff -r 29138c27eb72 -r 121ae49aabcb extras/mini-os/apps/daytime/daytime.c > --- /dev/null > +++ b/extras/mini-os/apps/daytime/daytime.c > @@ -0,0 +1,67 @@ > +/* > + * daytime.c: a simple network service based on lwIP and mini-os > + * > + * Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>, July 2007 > + */ > + > +#include <os.h> > +#include <xmalloc.h> > +#include <console.h> > +#include <netfront.h> > +#include <lwip/api.h> > + > +static char message[29]; > + > +void run_server(void *p) > +{ > + struct ip_addr listenaddr = { 0 }; > + struct netconn *listener; > + struct netconn *session; > + struct timeval tv; > + err_t rc; > + > + start_networking(); > + > + if (0) { > + struct ip_addr ipaddr = { htonl(0x0a000001) }; > + struct ip_addr netmask = { htonl(0xff000000) }; > + struct ip_addr gw = { 0 }; > + networking_set_addr(&ipaddr, &netmask, &gw); > + } > + > + tprintk("Opening connection\n"); > + > + listener = netconn_new(NETCONN_TCP); > + tprintk("Connection at %p\n", listener); > + > + rc = netconn_bind(listener, &listenaddr, 13); > + if (rc != ERR_OK) { > + tprintk("Failed to bind connection: %i\n", rc); > + return; > + } > + > + rc = netconn_listen(listener); > + if (rc != ERR_OK) { > + tprintk("Failed to listen on connection: %i\n", rc); > + return; > + } > + > + while (1) { > + session = netconn_accept(listener); > + if (session == NULL) > + continue; > + > + gettimeofday(&tv, NULL); > + sprintf(message, "%20lu.%6.6lu\n", tv.tv_sec, tv.tv_usec); > + (void) netconn_write(session, message, strlen(message), > NETCONN_COPY); > + (void) netconn_disconnect(session); > + (void) netconn_delete(session); > + } > +} > + > + > +int app_main(start_info_t *si) > +{ > + create_thread("server", run_server, NULL); > + return 0; > +} > diff -r 29138c27eb72 -r 121ae49aabcb extras/mini-os/daytime.c > --- a/extras/mini-os/daytime.c > +++ /dev/null > @@ -1,67 +0,0 @@ > -/* > - * daytime.c: a simple network service based on lwIP and mini-os > - * > - * Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>, July 2007 > - */ > - > -#include <os.h> > -#include <xmalloc.h> > -#include <console.h> > -#include <netfront.h> > -#include <lwip/api.h> > - > -static char message[29]; > - > -void run_server(void *p) > -{ > - struct ip_addr listenaddr = { 0 }; > - struct netconn *listener; > - struct netconn *session; > - struct timeval tv; > - err_t rc; > - > - start_networking(); > - > - if (0) { > - struct ip_addr ipaddr = { htonl(0x0a000001) }; > - struct ip_addr netmask = { htonl(0xff000000) }; > - struct ip_addr gw = { 0 }; > - networking_set_addr(&ipaddr, &netmask, &gw); > - } > - > - tprintk("Opening connection\n"); > - > - listener = netconn_new(NETCONN_TCP); > - tprintk("Connection at %p\n", listener); > - > - rc = netconn_bind(listener, &listenaddr, 13); > - if (rc != ERR_OK) { > - tprintk("Failed to bind connection: %i\n", rc); > - return; > - } > - > - rc = netconn_listen(listener); > - if (rc != ERR_OK) { > - tprintk("Failed to listen on connection: %i\n", rc); > - return; > - } > - > - while (1) { > - session = netconn_accept(listener); > - if (session == NULL) > - continue; > - > - gettimeofday(&tv, NULL); > - sprintf(message, "%20lu.%6.6lu\n", tv.tv_sec, tv.tv_usec); > - (void) netconn_write(session, message, strlen(message), > NETCONN_COPY); > - (void) netconn_disconnect(session); > - (void) netconn_delete(session); > - } > -} > - > - > -int app_main(start_info_t *si) > -{ > - create_thread("server", run_server, NULL); > - return 0; > -} > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |