diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 29 |
1 files changed, 18 insertions, 11 deletions
| @@ -2,7 +2,7 @@ VERSION = 1 | |||
| 2 | PATCHLEVEL = 0 | 2 | PATCHLEVEL = 0 |
| 3 | EXTRAVERSION = beta1 | 3 | EXTRAVERSION = beta1 |
| 4 | 4 | ||
| 5 | LIBRARY = libmtdev.so | 5 | LIBRARY = libmtdev |
| 6 | MODULES = src | 6 | MODULES = src |
| 7 | 7 | ||
| 8 | o_src = match iobuf caps core | 8 | o_src = match iobuf caps core |
| @@ -15,12 +15,13 @@ OBJECTS = $(addsuffix .o,\ | |||
| 15 | $(addprefix $(mod)/,$(o_$(mod))))) | 15 | $(addprefix $(mod)/,$(o_$(mod))))) |
| 16 | 16 | ||
| 17 | TBIN = $(addprefix bin/,$(TARGETS)) | 17 | TBIN = $(addprefix bin/,$(TARGETS)) |
| 18 | TLIB = $(addprefix obj/,$(LIBRARY)) | 18 | SLIB = $(addprefix obj/,$(LIBRARY).a) |
| 19 | DLIB = $(addprefix obj/,$(LIBRARY).so) | ||
| 19 | TOBJ = $(addprefix obj/,$(addsuffix .o,$(TARGETS))) | 20 | TOBJ = $(addprefix obj/,$(addsuffix .o,$(TARGETS))) |
| 20 | OBJS = $(addprefix obj/,$(OBJECTS)) | 21 | OBJS = $(addprefix obj/,$(OBJECTS)) |
| 21 | LIBS = | 22 | LIBS = |
| 22 | 23 | ||
| 23 | DLIB = usr/lib | 24 | DESTLIB = usr/lib |
| 24 | 25 | ||
| 25 | INCLUDE = -Iinclude | 26 | INCLUDE = -Iinclude |
| 26 | OPTS = -O3 -fPIC | 27 | OPTS = -O3 -fPIC |
| @@ -28,14 +29,18 @@ OPTS = -O3 -fPIC | |||
| 28 | .PHONY: all clean | 29 | .PHONY: all clean |
| 29 | .PRECIOUS: obj/%.o | 30 | .PRECIOUS: obj/%.o |
| 30 | 31 | ||
| 31 | all: $(OBJS) $(TLIB) $(TOBJ) $(TBIN) | 32 | all: $(OBJS) $(SLIB) $(DLIB) $(TOBJ) $(TBIN) |
| 32 | 33 | ||
| 33 | bin/%: obj/%.o $(TLIB) | 34 | bin/%: obj/%.o $(SLIB) |
| 34 | @mkdir -p $(@D) | 35 | @mkdir -p $(@D) |
| 35 | gcc $< -o $@ $(TLIB) $(LIBS) | 36 | gcc $< -o $@ $(SLIB) $(LIBS) |
| 36 | 37 | ||
| 37 | $(TLIB): $(OBJS) $(XOBJS) | 38 | $(SLIB): $(OBJS) $(XOBJS) |
| 38 | @rm -f $(TLIB) | 39 | @rm -f $(SLIB) |
| 40 | ar qc $@ $(OBJS) $(XOBJS) | ||
| 41 | |||
| 42 | $(DLIB): $(OBJS) $(XOBJS) | ||
| 43 | @rm -f $(DLIB) | ||
| 39 | gcc -shared $(OBJS) $(XOBJS) -Wl,-soname -Wl,$(LIBRARY) -o $@ | 44 | gcc -shared $(OBJS) $(XOBJS) -Wl,-soname -Wl,$(LIBRARY) -o $@ |
| 40 | 45 | ||
| 41 | obj/%.o: %.c | 46 | obj/%.o: %.c |
| @@ -48,6 +53,8 @@ clean: | |||
| 48 | distclean: clean | 53 | distclean: clean |
| 49 | rm -rf debian/*.log debian/files | 54 | rm -rf debian/*.log debian/files |
| 50 | 55 | ||
| 51 | install: $(TLIB) $(TFDI) | 56 | install: $(SLIB) $(DLIB) |
| 52 | install -d "$(DESTDIR)/$(DLIB)" | 57 | install -d $(DESTDIR)/$(DESTLIB) |
| 53 | install -m 755 $(TLIB) "$(DESTDIR)/$(DLIB)" | 58 | install -m 755 $(SLIB) $(DESTDIR)/$(DESTLIB) |
| 59 | install -m 755 $(DLIB) $(DESTDIR)/$(DESTLIB) | ||
| 60 | ldconfig -n $(DESTDIR)/$(DESTLIB) | ||
