summaryrefslogtreecommitdiff
path: root/Linux-PAM/modules/Simple.Rules
blob: bbbf3e50eca8991ddea9603224a7fc4fee959196 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# $Id: Simple.Rules,v 1.1.1.2 2002/09/15 20:08:43 hartmans Exp $
#
# For simple modules with no significant dependencies, set $(TITLE)
# and include this file.
#
# There are a few ways to customize this set of rules. Namely, define
#
#   $(MODULE_SIMPLE_EXTRACLEAN)
#   $(MODULE_SIMPLE_CLEAN)
#   $(MODULE_SIMPLE_REMOVE)
#   $(MODULE_SIMPLE_INSTALL)
#   $(MODULE_SIMPLE_EXTRALIBS)  - other things to link with the module
#   $(MODULE_SIMPLE_EXTRAFILES) - other files to build (no .c suffix)
#

LIBFILES = $(TITLE) $(MODULE_SIMPLE_EXTRAFILES)
LIBSRC = $(addsuffix .c,$(LIBFILES))
LIBOBJ = $(addsuffix .o,$(LIBFILES))
LIBOBJD = $(addprefix dynamic/,$(LIBOBJ))
LIBOBJS = $(addprefix static/,$(LIBOBJ))

LINK_PAMMODUTILS = -L../pammodutil -lpammodutil
INCLUDE_PAMMODUTILS = -I../pammodutil/include

ifdef DYNAMIC
LIBSHARED = $(TITLE).so
endif

ifdef STATIC
LIBSTATIC = lib$(TITLE).o
endif

####################### don't edit below #######################

all: dirs $(LIBSHARED) $(LIBSTATIC) register

dynamic/%.o : %.c
	$(CC) $(CFLAGS) $(INCLUDE_PAMMODUTILS) $(DYNAMIC) $(TARGET_ARCH) -c $< -o $@

static/%.o : %.c
	$(CC) $(CFLAGS) $(INCLUDE_PAMMODUTILS) $(STATIC) $(TARGET_ARCH) -c $< -o $@

dirs:
ifdef DYNAMIC
	$(MKDIR) ./dynamic
endif
ifdef STATIC
	$(MKDIR) ./static
endif

register:
ifdef STATIC
	( cd .. ; ./register_static $(TITLE) $(TITLE)/$(LIBSTATIC) )
endif

ifdef DYNAMIC
$(LIBOBJD): $(LIBSRC)
endif

ifdef DYNAMIC
$(LIBSHARED):	$(LIBOBJD)
	$(LD_D) -o $@ $(LIBOBJD) $(MODULE_SIMPLE_EXTRALIBS) $(NEED_LINK_LIB_C) $(LINK_PAMMODUTILS)

endif

ifdef STATIC
$(LIBOBJS): $(LIBSRC)
endif

ifdef STATIC
$(LIBSTATIC): $(LIBOBJS)
	$(LD) -r -o $@ $(LIBOBJS) $(MODULE_SIMPLE_EXTRALIBS) $(LINK_PAMMODUTILS)
endif

install: all
	$(MKDIR) $(FAKEROOT)$(SECUREDIR)
ifdef DYNAMIC
	$(INSTALL) -m $(SHLIBMODE) $(LIBSHARED) $(FAKEROOT)$(SECUREDIR)
endif
	$(MODULE_SIMPLE_INSTALL)

remove:
	rm -f $(FAKEROOT)$(SECUREDIR)/$(TITLE).so
	$(MODULE_SIMPLE_REMOVE)

clean:
	rm -f $(LIBOBJD) $(LIBOBJS) core *~
	$(MODULE_SIMPLE_CLEAN)
	rm -f *.a *.o *.so *.bak
	rm -rf dynamic static
	$(MODULE_SIMPLE_EXTRACLEAN)

.c.o:	
	$(CC) $(CFLAGS) -c $<