1 |
# Makefile for libstore |
# Makefile for libstore |
2 |
# |
# |
3 |
# Copyright (C) 1995,96,97,2001 Free Software Foundation, Inc. |
# Copyright (C) 1995,96,97,2001,02 Free Software Foundation, Inc. |
4 |
# Written by Miles Bader <miles@gnu.org> |
# Written by Miles Bader <miles@gnu.org> |
5 |
# |
# |
6 |
# This file is part of the GNU Hurd. |
# This file is part of the GNU Hurd. |
23 |
makemode := library |
makemode := library |
24 |
|
|
25 |
libname = libstore |
libname = libstore |
26 |
SRCS = create.c derive.c make.c rdwr.c set.c device.c file.c stripe.c \ |
SRCS = create.c derive.c make.c rdwr.c set.c \ |
27 |
enc.c encode.c decode.c clone.c argp.c std.c kids.c zero.c flags.c \ |
enc.c encode.c decode.c clone.c argp.c kids.c flags.c \ |
28 |
open.c remap.c xinl.c task.c typed.c copy.c gunzip.c map.c mvol.c \ |
open.c xinl.c typed.c map.c url.c unknown.c \ |
29 |
bunzip2.c part.c nbd.c memobj.c url.c unknown.c |
stripe.c remap.c copy.c mvol.c \ |
30 |
|
device.c file.c zero.c memobj.c task.c \ |
31 |
|
gunzip.c bunzip2.c nbd.c |
32 |
|
|
33 |
|
store-types = \ |
34 |
|
device \ |
35 |
|
file \ |
36 |
|
task \ |
37 |
|
nbd \ |
38 |
|
memobj \ |
39 |
|
zero \ |
40 |
|
ileave \ |
41 |
|
concat \ |
42 |
|
remap \ |
43 |
|
mvol \ |
44 |
|
copy \ |
45 |
|
gunzip \ |
46 |
|
bunzip2 |
47 |
|
|
48 |
|
libstore.so-LDLIBS += -ldl |
49 |
LCLHDRS=store.h |
LCLHDRS=store.h |
50 |
installhdrs=store.h |
installhdrs=store.h |
51 |
|
|
52 |
HURDLIBS = shouldbeinlibc |
HURDLIBS = shouldbeinlibc |
53 |
UNZIP_OBJS = unzip.o inflate.o util.o do-bunzip2.o |
GUNZIP_OBJS = unzip.o inflate.o util.o |
54 |
OBJS = $(patsubst part.o,parted.o,$(SRCS:.c=.o)) $(UNZIP_OBJS) |
BUNZIP2_OBJS = do-bunzip2.o |
55 |
|
OBJS = $(patsubst part.o,parted.o,$(SRCS:.c=.o)) $(GUNZIP_OBJS) $(BUNZIP2_OBJS) |
56 |
|
|
57 |
# Look for zip stuff |
# Look for zip stuff |
58 |
VPATH += $(srcdir)/../exec |
vpath %.c $(srcdir)/../exec |
59 |
CPPFLAGS += -I$(srcdir)/../exec |
CPPFLAGS += -I$(srcdir)/../exec |
60 |
|
|
61 |
include ../Makeconf |
include ../Makeconf |
62 |
|
|
63 |
|
libstore_gunzip.so.$(hurd-version): $(GUNZIP_OBJS:.o=_pic.o) |
64 |
|
libstore_bunzip2.so.$(hurd-version): $(BUNZIP2_OBJS:.o=_pic.o) |
65 |
|
|
66 |
ifeq (,$(strip $(PARTED_LIBS))) |
ifeq (,$(strip $(PARTED_LIBS))) |
67 |
# Configure didn't find the Parted libraries, so we have no "part" store type. |
# Configure didn't find the Parted libraries, so we have no "part" store type. |
68 |
|
|
87 |
ln -f $< $@ |
ln -f $< $@ |
88 |
|
|
89 |
endif |
endif |
90 |
|
|
91 |
|
|
92 |
|
libstore_%.so.$(hurd-version): %_pic.o libstore.so |
93 |
|
$(CC) -shared -Wl,-soname=$@ -o $@ \ |
94 |
|
$(rpath) $(CFLAGS) $(LDFLAGS) $(libstore_$*.so-LDFLAGS) $^ |
95 |
|
|
96 |
|
# Each libstore_TYPE.a is in fact a linker script so that `-lstore_TYPE' |
97 |
|
# just has the same effect as `-u store_TYPE_class'. |
98 |
|
$(store-types:%=libstore_%.a): libstore_%.a: $(srcdir)/Makefile |
99 |
|
(echo '/* This forces the module to be linked in from libstore.a. */';\ |
100 |
|
echo 'EXTERN(store_$*_class);') > $@T |
101 |
|
mv -f $@T $@ |
102 |
|
|
103 |
|
# XXX need to install these |
104 |
|
all: $(store-types:%=libstore_%.a) |