fix xsegbd to work with the new scheme. needs further testing
[archipelago] / xseg / sys / user / Makefile
index 63e3e49..1242477 100644 (file)
@@ -6,7 +6,7 @@ MAJOR=0
 MINOR=0.1
 AR=ar
 
-DRIVERS=xseg_posix xseg_segdev
+DRIVERS=xseg_posix xseg_segdev xseg_pthread
 DRVDIR=$(BASE)/drivers/user
 DRVOBJS=$(addsuffix .o, $(addprefix $(DRVDIR)/, $(DRIVERS)))
 SHELL=/bin/bash
@@ -15,13 +15,16 @@ default: all
 
 all: libxseg.a libxseg.so
        make -C xq all
-       make -C python all
+       make -C xpool all
+       make -C xhash all
+       make -C xheap all
+       make -C xobj all
 
 COMMA=,
 _initialize.c: drivers
        $(BASE)/tools/create_initializer $(DRIVERS) > _initialize.c
 
-xseg.o: $(BASE)/xseg/xseg.c $(BASE)/xseg/xseg.h $(BASE)/xq/xq.h
+xseg.o: $(BASE)/xseg/xseg.c $(BASE)/xseg/xseg.h $(BASE)/xtypes/xq.h
        $(CC) $(CFLAGS) $(INC) -c -o $@ $<
 
 xseg.pic.o: $(BASE)/xseg/xseg.c $(BASE)/xseg/xseg.h _initialize.c
@@ -44,18 +47,45 @@ xq/xq.o:
 xq/xq.pic.o:
        make -C xq xq.pic.o
 
+xpool/xpool.o:
+       make -C xpool xpool.o
+
+xpool/xpool.pic.o:
+       make -C xpool xpool.pic.o
+
+xhash/xhash.o:
+       make -C xhash xhash.o
+
+xhash/xhash.pic.o:
+       make -C xhash xhash.pic.o
+
+xheap/xheap.o:
+       make -C xheap xheap.o
+
+xheap/xheap.pic.o:
+       make -C xheap xheap.pic.o
+
+xobj/xobj.o:
+       make -C xobj xobj.o
+
+xobj/xobj.pic.o:
+       make -C xobj xobj.pic.o
+
 xseg_user.o: xseg_user.c
        $(CC) $(CFLAGS) $(INC) -Wall -O2 -finline-functions -fPIC -c -o $@ $<
 
-libxseg.map: $(BASE)/xq/xq_exports.h $(BASE)/xseg/xseg_exports.h
-       cat $(BASE)/xq/xq_exports.h $(BASE)/xseg/xseg_exports.h | ./make_symbol_map.sh > $@
+libxseg.map: $(BASE)/xtypes/xq_exports.h $(BASE)/xseg/xseg_exports.h
+       cat $(BASE)/xtypes/xq_exports.h $(BASE)/xseg/xseg_exports.h | ./make_symbol_map.sh > $@
 
 libxseg.so.$(MAJOR).$(MINOR): xseg.pic.o xseg_user.o libxseg.map \
-                                xq/xq.pic.o $(DRVOBJS)
+                                xq/xq.pic.o xpool/xpool.pic.o xhash/xhash.pic.o \
+                                xheap/xheap.pic.o xobj/xobj.pic.o $(DRVOBJS)
        $(CC) $(CFLAGS) -shared \
                         -Wl,-soname=libxseg.so.$(MAJOR) \
                         -o libxseg.so.$(MAJOR).$(MINOR) \
                         xseg.pic.o xseg_user.o xq/xq.pic.o \
+                       xpool/xpool.pic.o xhash/xhash.pic.o\
+                       xheap/xheap.pic.o xobj/xobj.pic.o \
                         _initialize.o $(DRVOBJS) \
                         -Wl,--version-script=libxseg.map \
                         -ldl -lrt
@@ -67,6 +97,10 @@ libxseg.a: xseg.o xq/xq.o drivers _initialize.o
 
 clean:
        make -C xq clean
+       make -C xpool clean
+       make -C xhash clean
+       make -C xheap clean
+       make -C xobj clean
        make -C python clean
        rm -f _initialize.c _initialize.o
        rm -f xseg.o xseg.pic.o xseg_user.o