summaryrefslogblamecommitdiffstats
path: root/efi_memtest/Makefile
blob: aa34bf39d13ef2773548f98561f76fb954a216dd (plain) (tree)



















































































































                                                                                                            
# TODO Autogen.obj
# Difference *.o *.obj



MAIN_FILE=MemtestEfi

CC=gcc

CFLAGS= -Werror -Wall -fno-builtin -fshort-wchar -fno-common -fno-strict-aliasing -g \
	-Wno-array-bounds -fno-stack-protector -Wno-address -mno-red-zone \
	-fpie -ffunction-sections -fdata-sections -flto -maccumulate-outgoing-args \
	-fno-asynchronous-unwind-tables 

LINKER=

M64=-m64 -mcmodel=small

M32=-m32

PREPROCESSOR=-DUEFI -DUSING_LTO -Os \
	-D DISABLE_NEW_DEPRECATED_INTERFACES "-DEFIAPI=__attribute__((ms_abi))"

INCLUDE_FILES=main cpuid test smp config screen_buffer lib init controller pci \
	spd dmi reloc patn linuxbios error vmem memsize random

# ADDITIONAL_HEADER=defs.h linuxbios_tables.h stdin.h io.h stdint.h stddef.h serial.h msr.h jedec_id.h elf.h

# OBJS=AutoGen.obj OUTPUT/main.o  OUTPUT/test.o OUTPUT/smp.o \
# 	OUTPUT/config.o OUTPUT/screen_buffer.o OUTPUT/lib.o OUTPUT/init.o OUTPUT/controller.o \
# 	OUTPUT/pci.o OUTPUT/spd.o OUTPUT/dmi.o OUTPUT/reloc.o OUTPUT/patn.o OUTPUT/linuxbios.o \
# 	OUTPUT/error.o OUTPUT/vmem.o OUTPUT/cpuid.o OUTPUT/memsize.o OUTPUT/random.o MemtestEfi.obj


# STATIC_LIBRARY_FILES= libs/BaseLib.lib
# 	libs/BaseMemoryLib.lib libs/BasePcdLibNull.lib 
# 	libs/BaseDebugPrintErrorLevelLib.lib libs/BasePrintLib.lib
# 	libs/UefiDebugLibStdErr.lib libs/UefiBootServicesTableLib.lib 
# 	libs/UefiMemoryAllocationLib.lib libs/UefiRuntimeServicesTableLib.lib
# 	libs/UefiDevicePathLib.lib libs/UefiApplicationEntryPoint.lib libs/UefiLib.lib

# all:	clean MemtestEfi move run


# $(MAIN_FILE): $(MAIN_FILE).dll
# 	./Include/GenFw -e UEFI_APPLICATION -o OUTPUT/$MAIN_FILE.efi OUTPUT/$MAIN_FILE.dll


# $(Main_FILE).dll: $(MAIN_FILE).lib	
# 	$(CC) $(CFLAGS)	-o OUTPUT/$MAIN_FILE.dll \
# 	-nostdlib \
# 	-Wl,-n,-q,--gc-sections \
# 	-Wl,--entry,_ModuleEntryPoint \
# 	-Wl,-Map,OUTPUT/$MAIN_FILE.map,--whole-archive \
# 	-Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie \
# 	-Wl,--start-group,@static_library_files.lst,--end-group \
# 	-Wl,--defsym=PECOFF_HEADER_SIZE=0x228 \
# 	-Wl,--script=Include/GccBase.lds \
# 	-z common-page-size=0x40 \
# 	-u _ModuleEntryPoint \
# 	-DSTRING_ARRAY_NAME=${MAIN_FILE}Strings \
# 	-I OUTPUT/ \
# 	-I Library/
# 	objcopy --strip-unneeded -R .eh_frame -v OUTPUT/$MAIN_FILE.dll OUTPUT/$MAIN_FILE.dll

# $(MAIN_FILE).lib: $(MAIN_FILE).obj $OBJ_FILES).o
# 	gcc-ar crv OUTPUT/$MAIN_FILE.lib  "${OBJECT_FILES[@]}"

# $(MAIN_FILE).obj: $(MAIN_FILE).c
# 	$(CC) $(CFLAGS) -o OUTPUT/$MAIN_FILE.obj  \
# 	-MMD -MF OUTPUT/$MAIN_FILE.obj.deps \
# 	-DSTRING_ARRAY_NAME=${MAIN_FILE}Strings \
# 	-c \
# 	-I . \
# 	-IInclude \
# 	-IOUTPUT \
# 	$MAIN_FILE.c

# output to OUTPUT dir
# main.o:
# 	$(CC) -c $(CFLAGS) $(PREPROCESSOR) $(M32) \
# 	-IInclude \
# 	memtest86+/main.c

oiu: clean $(INCLUDE_FILES).o

%.o: memtest86+/*.c
	$(CC) $(CFLAGS) $(PREPROCESSOR) $(M32) -c -o $@ $<

clean:
	rm -f OUTPUT/*
	rm -f memtest86+/*.o
	rm -f *.o


# move:
# 	cp -OUTPUT/MemtestEfi.efi ../test_code/hda-contents

# run:
# 	sudo ./run.sh