#
# Makefile for autofs
#
-include ../Makefile.conf
include ../Makefile.rules
SRCS := lookup_file.c lookup_program.c lookup_userhome.c \
lookup_multi.c lookup_hosts.c lookup_dir.c \
parse_sun.c parse_amd.c \
mount_generic.c mount_nfs.c mount_afs.c mount_autofs.c \
mount_changer.c mount_bind.c
MODS := lookup_file.so lookup_program.so lookup_userhome.so \
lookup_multi.so lookup_hosts.so lookup_dir.so \
parse_sun.so parse_amd.so \
mount_generic.so mount_nfs.so mount_afs.so mount_autofs.so \
mount_changer.so mount_bind.so
YACCSRC = amd_tok.c amd_parse.tab.c amd_parse.tab.h
ifeq ($(EXT2FS), 1)
SRCS += mount_ext2.c
MODS += mount_ext2.so
else
ifeq ($(EXT3FS), 1)
SRCS += mount_ext2.c
MODS += mount_ext2.so
endif
endif
ifeq ($(HESIOD), 1)
SRCS += lookup_hesiod.c parse_hesiod.c
MODS += lookup_hesiod.so parse_hesiod.so
endif
ifeq ($(NISPLUS), 1)
SRCS += lookup_nisplus.c
MODS += lookup_nisplus.so
endif
ifeq ($(YPCLNT), 1)
SRCS += lookup_yp.c
MODS += lookup_yp.so
endif
ifeq ($(LDAP), 1)
SRCS += lookup_ldap.c
MODS += lookup_ldap.so
LDAP_FLAGS += $(XML_FLAGS) -DLDAP_THREAD_SAFE
LIBLDAP += $(XML_LIBS)
ifeq ($(SASL), 1)
SASL_OBJ = cyrus-sasl.o cyrus-sasl-extern.o
LDAP_FLAGS += $(SASL_FLAGS) $(KRB5_FLAGS)
LIBLDAP += $(LIBSASL) $(KRB5_LIBS)
endif
endif
ifeq ($(SSSD), 1)
CFLAGS += -DSSS_LIB_DIR=\"$(ssslibdir)\"
SRCS += lookup_sss.c
MODS += lookup_sss.so
endif
CFLAGS += -I../include -I../lib -fPIC -D_GNU_SOURCE
CFLAGS += -DAUTOFS_LIB_DIR=\"$(autofslibdir)\"
CFLAGS += -DAUTOFS_MAP_DIR=\"$(autofsmapdir)\"
all: $(MODS)
clean:
rm -f *.o *.s *.so *~ *.output $(YACCSRC)
# mount_smbfs.so is an obsolete module which must be removed
install: all
install -d -m 755 $(INSTALLROOT)$(autofslibdir)
install -c $(MODS) -m 755 $(INSTALLROOT)$(autofslibdir)
-rm -f $(INSTALLROOT)$(autofslibdir)/mount_smbfs.so
ln -fs lookup_file.so $(INSTALLROOT)$(autofslibdir)/lookup_files.so
ln -fs lookup_yp.so $(INSTALLROOT)$(autofslibdir)/lookup_nis.so
ifeq ($(LDAP), 1)
ln -fs lookup_ldap.so $(INSTALLROOT)$(autofslibdir)/lookup_ldaps.so
endif
ln -fs mount_nfs.so $(INSTALLROOT)$(autofslibdir)/mount_nfs4.so
ifeq ($(EXT2FS), 1)
ifeq ($(EXT3FS), 1)
ln -fs mount_ext2.so $(INSTALLROOT)$(autofslibdir)/mount_ext3.so
endif
ifeq ($(EXT4FS), 1)
ln -fs mount_ext2.so $(INSTALLROOT)$(autofslibdir)/mount_ext4.so
endif
else ifeq ($(EXT3FS), 1)
mv $(INSTALLROOT)$(autofslibdir)/mount_ext2.so $(INSTALLROOT)$(autofslibdir)/mount_ext3.so
ifeq ($(EXT4FS), 1)
ln -fs mount_ext3.so $(INSTALLROOT)$(autofslibdir)/mount_ext4.so
endif
else ifeq ($(EXT4FS), 1)
mv $(INSTALLROOT)$(autofslibdir)/mount_ext2.so $(INSTALLROOT)$(autofslibdir)/mount_ext4.so
endif
amd_tok.c: amd_tok.l
$(LEX) -o$@ -Pamd_ $?
amd_tok.o: amd_tok.c amd_parse.tab.h
amd_parse.tab.c amd_parse.tab.h: amd_parse.y
$(YACC) -v -d -p amd_ -b amd_parse $?
amd_parse.tab.o: amd_parse.tab.c amd_parse.tab.h
parse_amd.so: parse_amd.c amd_parse.tab.o amd_tok.o
$(CC) $(SOLDFLAGS) $(CFLAGS) -o parse_amd.so \
parse_amd.c amd_parse.tab.o amd_tok.o $(LDFLAGS) $(AUTOFS_LIB) $(LIBS)
$(STRIP) parse_amd.so
#
# Ad hoc compilation rules for modules which need auxilliary libraries
#
lookup_yp.so: lookup_yp.c
$(CC) $(SOLDFLAGS) $(CFLAGS) $(NSLCFLAGS) -o lookup_yp.so \
lookup_yp.c $(LDFLAGS) $(AUTOFS_LIB) $(LIBS) $(NSLLIB)
$(STRIP) lookup_yp.so
lookup_nisplus.so: lookup_nisplus.c
$(CC) $(SOLDFLAGS) $(CFLAGS) $(NSLCFLAGS) -o lookup_nisplus.so \
lookup_nisplus.c $(LDFLAGS) $(AUTOFS_LIB) $(LIBS) $(NSLLIB)
$(STRIP) lookup_nisplus.so
lookup_hesiod.so: lookup_hesiod.c
$(CC) $(SOLDFLAGS) $(CFLAGS) $(HESIOD_FLAGS) -o lookup_hesiod.so \
lookup_hesiod.c $(LDFLAGS) $(AUTOFS_LIB) $(LIBHESIOD) $(LIBRESOLV) $(LIBS)
$(STRIP) lookup_hesiod.so
cyrus-sasl.o: cyrus-sasl.c
$(CC) $(CFLAGS) $(LDAP_FLAGS) -c $<
cyrus-sasl-extern.o: cyrus-sasl-extern.c
$(CC) $(CFLAGS) $(LDAP_FLAGS) -c $<
lookup_ldap.so: lookup_ldap.c dclist.o base64.o $(SASL_OBJ)
$(CC) $(SOLDFLAGS) $(CFLAGS) $(LDAP_FLAGS) -o lookup_ldap.so \
lookup_ldap.c dclist.o base64.o $(SASL_OBJ) \
$(LDFLAGS) $(AUTOFS_LIB) $(LIBLDAP) $(LIBRESOLV) $(LIBS)
$(STRIP) lookup_ldap.so
mount_nfs.so: mount_nfs.c replicated.o
$(CC) $(SOLDFLAGS) $(CFLAGS) -o mount_nfs.so \
mount_nfs.c replicated.o $(LDFLAGS) $(AUTOFS_LIB) $(LIBS)
$(STRIP) mount_nfs.so