Abaixo vão apenas as partes relevantes do texto. Os trechos que não devem ser processados foram comentados (#) para fins didáticos, na prática podem ser deletados mesmo. Mantidos alguns pedaços referentes à desinstalação de versões anteriores.
Makefile: Copyright 2003, Smart Link Ltd. All rights reserved.
Author: Sasha K (sashak@smlink.com)
ifeq ($(ARCH64), 0)
obj-m:= slamr.o
endif
#ifneq ($(AGE), NEW)
#obj-m:= $(obj-m) slusb.o
#endif
slamr-objs:= amrmo_init.o sysdep_amr.o amrlibs.o
#slusb-objs:= st7554.o
install-devices:
mkdir -p ${DESTDIR}/dev
$(foreach minor,0 1 2 3, \
mknod -m 600 ${DESTDIR}/dev/slamr$(minor) c 242
$(minor) ; ) echo -n
#ifneq ($(AGE), NEW)
# $(foreach minor,0 1 2 3, \
# mknod -m 600 ${DESTDIR}/dev/slusb$(minor) c 243
$(minor) ; ) echo -n
#endif
remove-devices:
$(foreach minor,0 1 2 3, \
$(RM) ${DESTDIR}/dev/slamr$(minor) ; ) echo -n
# $(foreach minor,0 1 2 3, \
# $(RM) ${DESTDIR}/dev/slusb$(minor) ; ) echo -n
else
ifeq ($(findstring 2.4,$(KERNEL_VER)),2.4)
#slusb-objs:= old_st7554.o
obj:=.
module-dir:=${DESTDIR}/lib/modules/$(KERNEL_VER)/misc
CFLAGS:= -Wall -pipe -O3 -fomit-frame-pointer -D__KERNEL__ -DMODULE -DEXPORT_SYMTAB -DMODVERSIONS --include
$(KERNEL_DIR)/include/linux/modversions.h -I$(KERNEL_DIR)/include
# Meus linux-2.6.26 e 2.6.22.7 não têm modversions.h, mas
aparentemente não houve problema por isso.
all: $(obj-m)
slamr.o: $(slamr-objs)
#slusb.o: $(slusb-objs)
#slamr.o slusb.o:
slamr.o:
$(LD) -r -o $@ $^
install: uninstall-old
ifeq ($(ARCH64), 0)
install -D -m 644 slamr.o $(module-dir)/slamr.o
endif
install -D -m 644 slusb.o $(module-dir)/slusb.o
cp /etc/modules.conf /etc/modules.conf.slamr && \
echo 'alias char-major-242 slamr' >> /etc/modules.conf
# echo 'alias char-major-242 slamr' >> /etc/modules.conf
&& \
# echo 'alias char-major-243 slusb' >> /etc/modules.conf
/sbin/depmod -a
uninstall:
# /sbin/modprobe -r slamr slusb
/sbin/modprobe -r slamr
cp /etc/modules.conf /etc/modules.conf.slamr && \
egrep -ve 'alias char-major-242
slamr' /etc/modules.conf.slamr > /etc/modules.conf
# egrep -ve 'alias char-major-242 slamr|alias char-major-243
slusb' /etc/modules.conf.slamr > /etc/modules.conf
$(RM) $(module-dir)/slamr.o
# $(RM) $(module-dir)/slusb.o
/sbin/depmod -a
uninstall-old:
$(RM) $(module-dir)/slmdm.o \
$(module-dir)/slfax.o \
$(module-dir)/slusb.o \
$(module-dir)/slamrmo.o \
$(module-dir)/slmodem.o # remove old 2.7,2.8 version
install:
ifeq ($(ARCH64), 0)
install -D -m 644 slamr.ko $(module-dir)/slamr.ko
endif
#ifneq ($(AGE), NEW)
# install -D -m 644 slusb.ko $(module-dir)/slusb.ko
#endif
/sbin/depmod -a
uninstall:
ifeq ($(ARCH64), 0)
modprobe -r slamr ; echo -n
endif
# modprobe -r slusb ; echo -n
$(RM) $(module-dir)/slamr.ko
# $(RM) $(module-dir)/slusb.ko
/sbin/depmod -a
endif