make mt-sosd use the newly added dispatch reason
[archipelago] / xseg / base.mk
index 0a3479d..7f06697 100644 (file)
@@ -1,15 +1,57 @@
-# Default setup for subdirectory Makefiles.
+# Setup for xseg Makefiles.
 
-CC=gcc
+ifndef TARGET
+TARGET:=$(shell basename $(shell pwd))
+endif
+
+export CC=gcc
 ifndef MOPTS
-MOPTS=
+export MOPTS=
 endif
 ifndef COPTS
-COPTS=-O2 -g -finline-functions $(MOPTS) $(DEBUG)
+export COPTS=-O2 -g -finline-functions $(MOPTS) $(DEBUG)
 endif
 ifndef CSTD
-CSTD=-std=gnu99 -pedantic
+export CSTD=-std=gnu99 -pedantic
 endif
+
 INC=-I$(BASE)
-CFLAGS=-Wall $(INC) $(COPTS) $(CSTD)
+INC+=-I$(BASE)/peers/$(TARGET)
+INC+=-I$(BASE)/sys/$(TARGET)
+INC+=-I$(BASE)/drivers/$(TARGET)
+export INC
+
+export LIB=$(BASE)/lib/$(TARGET)
+export CFLAGS=-Wall $(COPTS) $(CSTD)
+
+ifeq (,$(XSEG_HOME))
+export XSEG_HOME=$(shell ${XSEG_HOME})
+endif
+
+ifeq (,$(XSEG_HOME))
+export XSEG_HOME=.
+endif
 
+CONFIG=./config.mk
+
+default:
+
+.PHONY: clean-config
+
+clean: clean-config
+
+clean-config:
+       rm -f $(CONFIG)
+
+ifndef BASE
+exists=$(shell [ -f "$(CONFIG)" ] && echo exists)
+ifeq (exists,$(exists))
+include $(CONFIG)
+else
+$(shell $(XSEG_HOME)/envsetup show | sed -e 's/"//g' > "$(CONFIG)")
+include $(CONFIG)
+endif
+
+export XSEG_DOMAIN_TARGETS=$(shell $(XSEG_HOME)/tools/xseg-domain-targets | sed -e 's/^[^=]*=//;s/"//g')
+export BASE=$(XSEG_HOME)
+endif