mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Adding in a Makefile.boot filename for .boot detection
This commit is contained in:
		
							
								
								
									
										159
									
								
								samples/Makefile/filenames/Makefile.boot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										159
									
								
								samples/Makefile/filenames/Makefile.boot
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,159 @@ | ||||
| # $NetBSD$ | ||||
|  | ||||
| S=	${.CURDIR}/../../../../.. | ||||
|  | ||||
| NOMAN= | ||||
| PROG?= boot | ||||
| NEWVERSWHAT?= "BIOS Boot" | ||||
| VERSIONFILE?= ${.CURDIR}/../version | ||||
|  | ||||
| AFLAGS.biosboot.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:} | ||||
|  | ||||
| SOURCES?= biosboot.S boot2.c conf.c devopen.c exec.c | ||||
| SRCS= ${SOURCES} | ||||
| .if !make(depend) | ||||
| SRCS+= vers.c | ||||
| .endif | ||||
|  | ||||
| PIE_CFLAGS= | ||||
| PIE_AFLAGS= | ||||
| PIE_LDFLAGS= | ||||
|  | ||||
| .include <bsd.own.mk> | ||||
|  | ||||
| STRIPFLAG=	# nothing | ||||
|  | ||||
| LIBCRT0=	# nothing | ||||
| LIBCRTI=	# nothing | ||||
| LIBCRTBEGIN=	# nothing | ||||
| LIBCRTEND=	# nothing | ||||
| LIBC=		# nothing | ||||
|  | ||||
| BINDIR=/usr/mdec | ||||
| BINMODE=444 | ||||
|  | ||||
| .PATH:	${.CURDIR}/.. ${.CURDIR}/../../lib | ||||
|  | ||||
| LDFLAGS+= -nostdlib -Wl,-N -Wl,-e,boot_start | ||||
| CPPFLAGS+= -I ${.CURDIR}/..  -I ${.CURDIR}/../../lib -I ${S}/lib/libsa | ||||
| CPPFLAGS+= -I ${.OBJDIR} | ||||
| # Make sure we override any optimization options specified by the user | ||||
| COPTS=  -Os | ||||
|  | ||||
| .if ${MACHINE_ARCH} == "x86_64" | ||||
| LDFLAGS+=  -Wl,-m,elf_i386 | ||||
| AFLAGS+=   -m32 | ||||
| CPUFLAGS=  -m32 | ||||
| LIBKERN_ARCH=i386 | ||||
| KERNMISCMAKEFLAGS="LIBKERN_ARCH=i386" | ||||
| .else | ||||
| CPUFLAGS=  -march=i386 -mtune=i386 | ||||
| .endif | ||||
|  | ||||
| CFLAGS+=   -mno-sse -mno-sse2 -mno-sse3 | ||||
|  | ||||
| COPTS+=    -ffreestanding | ||||
| CFLAGS+= -Wall -Wmissing-prototypes -Wstrict-prototypes | ||||
| CPPFLAGS+= -nostdinc -D_STANDALONE | ||||
| CPPFLAGS+= -I$S | ||||
|  | ||||
| CPPFLAGS+= -DSUPPORT_PS2 | ||||
| CPPFLAGS+= -DDIRECT_SERIAL | ||||
| CPPFLAGS+= -DSUPPORT_SERIAL=boot_params.bp_consdev | ||||
|  | ||||
| CPPFLAGS+= -DCONSPEED=boot_params.bp_conspeed | ||||
| CPPFLAGS+= -DCONSADDR=boot_params.bp_consaddr | ||||
| CPPFLAGS+= -DCONSOLE_KEYMAP=boot_params.bp_keymap | ||||
|  | ||||
| CPPFLAGS+= -DSUPPORT_CD9660 | ||||
| CPPFLAGS+= -DSUPPORT_USTARFS | ||||
| CPPFLAGS+= -DSUPPORT_DOSFS | ||||
| CPPFLAGS+= -DSUPPORT_EXT2FS | ||||
| #CPPFLAGS+= -DSUPPORT_MINIXFS3 | ||||
| CPPFLAGS+= -DPASS_BIOSGEOM | ||||
| CPPFLAGS+= -DPASS_MEMMAP | ||||
| #CPPFLAGS+= -DBOOTPASSWD | ||||
| CPPFLAGS+= -DEPIA_HACK | ||||
| #CPPFLAGS+= -DDEBUG_MEMSIZE | ||||
| #CPPFLAGS+= -DBOOT_MSG_COM0 | ||||
| CPPFLAGS+= -DLIBSA_ENABLE_LS_OP | ||||
|  | ||||
| # The biosboot code is linked to 'virtual' address of zero and is | ||||
| # loaded at physical address 0x10000. | ||||
| # XXX The heap values should be determined from _end. | ||||
| SAMISCCPPFLAGS+= -DHEAP_START=0x40000 -DHEAP_LIMIT=0x70000 | ||||
| SAMISCCPPFLAGS+= -DLIBSA_PRINTF_LONGLONG_SUPPORT | ||||
| SAMISCMAKEFLAGS+= SA_USE_CREAD=yes	# Read compressed kernels | ||||
| SAMISCMAKEFLAGS+= SA_INCLUDE_NET=no	# Netboot via TFTP, NFS | ||||
|  | ||||
| CPPFLAGS+=	-Wno-pointer-sign | ||||
|  | ||||
| # CPPFLAGS+= -DBOOTXX_RAID1_SUPPORT | ||||
|  | ||||
| I386_STAND_DIR?= $S/arch/i386/stand | ||||
|  | ||||
| ### find out what to use for libi386 | ||||
| I386DIR= ${I386_STAND_DIR}/lib | ||||
| .include "${I386DIR}/Makefile.inc" | ||||
| LIBI386= ${I386LIB} | ||||
|  | ||||
| ### find out what to use for libsa | ||||
| SA_AS= library | ||||
| SAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes" | ||||
| SAMISCMAKEFLAGS+="SA_ENABLE_LS_OP=yes" | ||||
| .include "${S}/lib/libsa/Makefile.inc" | ||||
| LIBSA= ${SALIB} | ||||
|  | ||||
| ### find out what to use for libkern | ||||
| KERN_AS= library | ||||
| .include "${S}/lib/libkern/Makefile.inc" | ||||
| LIBKERN= ${KERNLIB} | ||||
|  | ||||
| ### find out what to use for libz | ||||
| Z_AS= library | ||||
| .include "${S}/lib/libz/Makefile.inc" | ||||
| LIBZ= ${ZLIB} | ||||
|  | ||||
| LDSCRIPT ?= $S/arch/i386/conf/stand.ldscript | ||||
|  | ||||
| cleandir distclean: .WAIT cleanlibdir | ||||
|  | ||||
| cleanlibdir: | ||||
| 	-rm -rf lib | ||||
|  | ||||
| LIBLIST= ${LIBI386} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBI386} ${LIBSA} | ||||
| # LIBLIST= ${LIBSA} ${LIBKERN} ${LIBI386} ${LIBSA} ${LIBZ} ${LIBKERN} | ||||
|  | ||||
| CLEANFILES+= ${PROG}.tmp ${PROG}.map ${PROG}.sym vers.c | ||||
|  | ||||
| vers.c: ${VERSIONFILE} ${SOURCES} ${LIBLIST} ${.CURDIR}/../Makefile.boot | ||||
| 	${HOST_SH} ${S}/conf/newvers_stand.sh ${VERSIONFILE} x86 ${NEWVERSWHAT} | ||||
|  | ||||
| # Anything that calls 'real_to_prot' must have a %pc < 0x10000. | ||||
| # We link the program, find the callers (all in libi386), then | ||||
| # explicitly pull in the required objects before any other library code. | ||||
| ${PROG}: ${OBJS} ${LIBLIST} ${.CURDIR}/../Makefile.boot | ||||
| 	${_MKTARGET_LINK} | ||||
| 	bb="$$( ${CC} -o ${PROG}.sym ${LDFLAGS} -Wl,-Ttext,0 -Wl,-cref \ | ||||
| 	    ${OBJS} ${LIBLIST} | ( \ | ||||
| 		while read symbol file; do \ | ||||
| 			[ -z "$$file" ] && continue; \ | ||||
| 			[ "$$symbol" = real_to_prot ] && break; \ | ||||
| 		done; \ | ||||
| 		while \ | ||||
| 			oifs="$$IFS"; \ | ||||
| 			IFS='()'; \ | ||||
| 			set -- $$file; \ | ||||
| 			IFS="$$oifs"; \ | ||||
| 			[ -n "$$2" ] && echo "${I386DST}/$$2"; \ | ||||
| 			read file rest && [ -z "$$rest" ]; \ | ||||
| 		do :; \ | ||||
| 		done; \ | ||||
| 	) )"; \ | ||||
| 	${CC} -o ${PROG}.sym ${LDFLAGS} -Wl,-Ttext,0 -T ${LDSCRIPT} \ | ||||
| 		-Wl,-Map,${PROG}.map -Wl,-cref ${OBJS} $$bb ${LIBLIST} | ||||
| 	${OBJCOPY} -O binary ${PROG}.sym ${PROG} | ||||
|  | ||||
| .include <bsd.prog.mk> | ||||
| KLINK_MACHINE=	i386 | ||||
| .include <bsd.klinks.mk> | ||||
		Reference in New Issue
	
	Block a user