2023-06-10 18:08:48 +07:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
################################################################################
|
|
|
|
#
|
2024-03-05 03:59:03 +07:00
|
|
|
# r8126 is the Linux device driver released for Realtek 5 Gigabit Ethernet
|
2023-06-10 18:08:48 +07:00
|
|
|
# controllers with PCI-Express interface.
|
|
|
|
#
|
2024-03-05 03:59:03 +07:00
|
|
|
# Copyright(c) 2024 Realtek Semiconductor Corp. All rights reserved.
|
2023-06-10 18:08:48 +07:00
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or modify it
|
|
|
|
# under the terms of the GNU General Public License as published by the Free
|
|
|
|
# Software Foundation; either version 2 of the License, or (at your option)
|
|
|
|
# any later version.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
|
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
|
|
# more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License along with
|
|
|
|
# this program; if not, see <http://www.gnu.org/licenses/>.
|
|
|
|
#
|
|
|
|
# Author:
|
|
|
|
# Realtek NIC software team <nicfae@realtek.com>
|
|
|
|
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
# This product is covered by one or more of the following patents:
|
|
|
|
# US6,570,884, US6,115,776, and US6,327,625.
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
CC := gcc
|
|
|
|
LD := ld
|
|
|
|
ARCH := $(shell uname -m | sed 's/i.86/i386/')
|
|
|
|
KSRC := /lib/modules/$(shell uname -r)/build
|
|
|
|
CONFIG_FILE := $(KSRC)/include/linux/autoconf.h
|
|
|
|
KMISC := /lib/modules/$(shell uname -r)/kernel/drivers/net/
|
|
|
|
|
|
|
|
|
|
|
|
ifeq ($(ARCH),x86_64)
|
|
|
|
MODCFLAGS += -mcmodel=kernel -mno-red-zone
|
|
|
|
endif
|
|
|
|
|
|
|
|
#standard flags for module builds
|
|
|
|
MODCFLAGS += -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall
|
|
|
|
MODCFLAGS += -I$(KSRC)/include -I.
|
|
|
|
MODCFLAGS += -DMODVERSIONS -DEXPORT_SYMTAB -include $(KSRC)/include/linux/modversions.h
|
2024-03-05 03:59:03 +07:00
|
|
|
SOURCE := r8126_n.c rtl_eeprom.c rtltool.c
|
2023-06-10 18:08:48 +07:00
|
|
|
OBJS := $(SOURCE:.c=.o)
|
|
|
|
|
|
|
|
|
|
|
|
SMP := $(shell $(CC) $(MODCFLAGS) -E -dM $(CONFIG_FILE) | \
|
|
|
|
grep CONFIG_SMP | awk '{print $$3}')
|
|
|
|
|
|
|
|
ifneq ($(SMP),1)
|
|
|
|
SMP := 0
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(SMP),1)
|
|
|
|
MODCFLAGS += -D__SMP__
|
|
|
|
endif
|
|
|
|
|
|
|
|
modules: $(OBJS)
|
2024-03-05 03:59:03 +07:00
|
|
|
$(LD) -r $^ -o r8126.o
|
|
|
|
strip --strip-debug r8126.o
|
2023-06-10 18:08:48 +07:00
|
|
|
|
|
|
|
%.o: %.c
|
|
|
|
$(CC) $(MODCFLAGS) -c $< -o $@
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm *.o -f
|
|
|
|
|
|
|
|
install:
|
2024-03-05 03:59:03 +07:00
|
|
|
install -m 744 -c r8126.o $(KMISC)
|