76 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # SPDX-License-Identifier: GPL-2.0-only
 | |
| ################################################################################
 | |
| #
 | |
| # r8168 is the Linux device driver released for Realtek Gigabit Ethernet
 | |
| # controllers with PCI-Express interface.
 | |
| #
 | |
| # Copyright(c) 2022 Realtek Semiconductor Corp. All rights reserved.
 | |
| #
 | |
| # 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
 | |
| SOURCE		:= r8168_n.c r8168_asf.c rtl_eeprom.c rtltool.c
 | |
| 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)
 | |
| 	$(LD) -r $^ -o r8168.o
 | |
| 	strip --strip-debug r8168.o
 | |
| 
 | |
| %.o: %.c
 | |
| 	$(CC) $(MODCFLAGS) -c $< -o $@
 | |
| 
 | |
| clean:
 | |
| 	rm *.o -f
 | |
| 
 | |
| install:
 | |
| 	install -m 744 -c r8168.o $(KMISC)
 |