]> granicus.if.org Git - linux-pam/blob - modules/pam_tally/Makefile
Relevant BUGIDs:
[linux-pam] / modules / pam_tally / Makefile
1 #
2 # $Id$
3 #
4 # This Makefile controls a build process of $(TITLE) module and
5 # application for Linux-PAM. You should not modify this Makefile
6 # (unless you know what you are doing!).
7 #
8 #
9
10 include ../../Make.Rules
11
12 TITLE=pam_tally
13
14 #
15 ## Additional rules for making (and moving) the application added.
16 ## Assuming that all modules' applications are called $TITLE
17 #
18
19 LIBSRC = $(TITLE).c
20 LIBOBJ = $(TITLE).o
21 LIBOBJD = $(addprefix dynamic/,$(LIBOBJ))
22 LIBOBJS = $(addprefix static/,$(LIBOBJ))
23
24 APPSRC = $(TITLE)_app.c
25 APPOBJ = $(TITLE)_app.o
26 APPOBJD = $(addprefix dynamic/,$(APPOBJ))
27 APPOBJS = $(addprefix static/,$(APPOBJ))
28     
29 dynamic/%.o : %.c
30         $(CC) $(CFLAGS) $(DYNAMIC) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
31
32 static/%.o : %.c
33         $(CC) $(CFLAGS) $(STATIC) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
34
35
36 ifdef DYNAMIC
37 LIBSHARED = $(TITLE).so
38 endif
39
40 ifdef STATIC
41 LIBSTATIC = lib$(TITLE).o
42 endif
43
44 APPLICATION = $(TITLE)
45 APPMODE = 755
46
47 LINK_PAMMODUTILS = -L../pammodutil -lpammodutil -L../../libpam -lpam
48 INCLUDE_PAMMODUTILS = -I../pammodutil/include
49
50 LDFLAGS += $(LINK_PAMMODUTILS)
51 CFLAGS += $(INCLUDE_PAMMODUTILS)
52
53 ####################### don't edit below #######################
54
55 all: dirs $(LIBSHARED) $(LIBSTATIC) register $(APPLICATION)
56
57 dirs:
58 ifdef DYNAMIC
59         $(MKDIR) ./dynamic
60 endif
61 ifdef STATIC
62         $(MKDIR) ./static
63 endif
64
65 register:
66 ifdef STATIC
67         ( cd .. ; ./register_static $(TITLE) $(TITLE)/$(LIBSTATIC) )
68 endif
69
70 ifdef DYNAMIC
71 $(LIBOBJD): $(LIBSRC)
72
73 $(LIBSHARED):   $(LIBOBJD)
74         $(LD_D) -o $@ $(LIBOBJD) $(LDFLAGS)
75
76 $(APPLICATION): $(APPOBJD) $(TITLE).c
77         $(CC) $(CFLAGS) -o $@ $(APPOBJD) $(LDFLAGS) $(LOADLIBES)
78     
79 endif
80
81 ifdef STATIC
82 $(LIBOBJS): $(LIBSRC)
83
84 $(LIBSTATIC): $(LIBOBJS)
85         $(LD) -r -o $@ $(LIBOBJS)
86
87 $(APPLICATION): $(APPOBJS) $(TITLE).c
88         $(CC) $(CFLAGS) -o $@ $(APPOBJS) $(LOADLIBES)
89 endif
90
91 install: all
92         $(MKDIR) $(FAKEROOT)$(SECUREDIR)
93 ifdef DYNAMIC
94         $(INSTALL) -m $(SHLIBMODE) $(LIBSHARED) $(FAKEROOT)$(SECUREDIR)
95 endif
96         $(MKDIR) $(FAKEROOT)$(SUPLEMENTED)
97         $(INSTALL) -m $(APPMODE) $(APPLICATION) $(FAKEROOT)$(SUPLEMENTED)
98
99 remove:
100         rm -f $(FAKEROOT)$(SECUREDIR)/$(TITLE).so
101         rm -f $(FAKEROOT)$(SUPLEMENTED)/$(TITLE)
102
103 clean:
104         rm -f $(LIBOBJD) $(LIBOBJS) $(APPOBJD) $(APPOBJS) core *~
105         rm -f *.a *.o *.so *.bak dynamic/* static/* $(APPLICATION)
106         rm -rf dynamic static
107
108 .c.o:   
109         $(CC) $(CFLAGS) -c $<