• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# This file gets included into the main Makefile, in the top directory.
2
3# for lib$(NAME).so and /usr/include/($NAME) and such
4NAME      :=  proc
5
6SHARED := 1
7
8SONAME    :=  lib$(NAME).so.$(LIBVERSION)
9
10LIBSRC :=  $(wildcard proc/*.c)
11LIBHDR :=  $(wildcard proc/*.h)
12LIBOBJ :=  $(LIBSRC:.c=.o)
13
14#ALL        += proc/lib$(NAME).a
15#INSTALL    += $(usr/lib)/lib$(NAME).a # plus $(usr/include)$(NAME) gunk
16
17ifeq ($(SHARED),1)
18ALL        += proc/$(SONAME)
19INSTALL    += $(lib)/$(SONAME)
20FPIC       := -fpic
21LIBPROC    := proc/$(SONAME)
22else
23ALL        += proc/lib$(NAME).a
24LIBPROC    := proc/lib$(NAME).a
25endif
26
27# Separate rule for this directory, to use -fpic or -fPIC
28$(filter-out proc/version.o,$(LIBOBJ)): proc/%.o: proc/%.c
29	$(CC) -c $(CFLAGS) $(FPIC) $< -o $@
30
31LIB_X := COPYING module.mk
32TARFILES += $(LIBSRC) $(LIBHDR) $(addprefix proc/,$(LIB_X))
33
34
35# Clean away all output files, .depend, and symlinks.
36# Use wildcards in case the version has changed.
37CLEAN += proc/.depend proc/lib*.so* proc/lib*.a $(LIBOBJ)
38DIRS  += proc/
39
40proc/lib$(NAME).a: $(LIBOBJ)
41	$(AR) rcs $@ $^
42
43proc/$(SONAME): $(LIBOBJ)
44	$(CC) -shared -Wl,-soname,$(SONAME) -o $@ $^ -lc
45	cd proc && $(ln_sf) $(SONAME) lib$(NAME).so
46
47
48# AUTOMATIC DEPENDENCY GENERATION -- GCC AND GNUMAKE DEPENDENT
49proc/.depend: $(LIBSRC) $(LIBHDR)
50	$(strip $(CC) $(LIB_CFLAGS) -MM -MG $(LIBSRC) > $@)
51
52ifneq ($(MAKECMDGOALS),clean)
53ifneq ($(MAKECMDGOALS),tar)
54-include proc/.depend
55endif
56endif
57
58
59$(lib)/$(SONAME) : proc/$(SONAME)
60	$(install) --mode a=rx --strip $< $@
61	cd $(lib) && $(ln_sf) $(SONAME) lib$(NAME).so
62	$(ldconfig)
63
64#$(usr/lib)/lib$(NAME).a : proc/lib$(NAME).a
65#	$(install) --mode a=r --strip $< $@
66
67# Junk anyway... supposed to go in /usr/include/$(NAME)
68#$(HDRFILES) ??? : $(addprefix proc/,$(HDRFILES)) ???
69#	$(install) --mode a=r $< $@
70
71
72proc/version.o:	proc/version.c proc/version.h
73	$(CC) $(CFLAGS) $(FPIC) -DVERSION=\"$(VERSION)\" -DSUBVERSION=\"$(SUBVERSION)\" -DMINORVERSION=\"$(MINORVERSION)\" -c -o $@ $<
74