Blame tests/aslts/Makefile.def

Packit Service 0129ce
# Makefile.def
Packit Service 0129ce
Packit Service 0129ce
# Set variables:
Packit Service 0129ce
#
Packit Service 0129ce
# for install:
Packit Service 0129ce
#    ASL - path name of iASL compiler
Packit Service 0129ce
#
Packit Service 0129ce
# Internal variables to be pre-defined:
Packit Service 0129ce
#   TOP    - relative name of aslts directory
Packit Service 0129ce
#   AMLMOD - name of resulting AML module (DefinitionBlock->AMLFileName)
Packit Service 0129ce
#            without .aml extension.
Packit Service 0129ce
Packit Service 0129ce
# Two level hierarchy of compilation:
Packit Service 0129ce
# optimization & (32/64 mode).
Packit Service 0129ce
#
Packit Service 0129ce
#  Directory |           Flags
Packit Service 0129ce
#            |---------------------------
Packit Service 0129ce
#            | optimization |  32/64 mode
Packit Service 0129ce
# ---------------------------------------
Packit Service 0129ce
#    opt/32  |              |  -r 1
Packit Service 0129ce
#    opt/64  |              |  -r 2
Packit Service 0129ce
#   nopt/32  |  -oa         |  -r 1
Packit Service 0129ce
#   nopt/64  |  -oa         |  -r 2
Packit Service 0129ce
Packit Service 0129ce
ifndef ASLTS_AMLDIR
Packit Service 0129ce
ifeq ("$(ASLTS_MODE)", "n32")
Packit Service 0129ce
	ASLTS_AMLDIR=nopt/32
Packit Service 0129ce
	ASLTS_ASLFLAGS="-oa -r 1"
Packit Service 0129ce
endif
Packit Service 0129ce
ifeq ("$(ASLTS_MODE)", "n64")
Packit Service 0129ce
	ASLTS_AMLDIR=nopt/64
Packit Service 0129ce
	ASLTS_ASLFLAGS="-oa -r 2"
Packit Service 0129ce
endif
Packit Service 0129ce
ifeq ("$(ASLTS_MODE)", "o32")
Packit Service 0129ce
	ASLTS_AMLDIR=opt/32
Packit Service 0129ce
	ASLTS_ASLFLAGS="-r 1"
Packit Service 0129ce
endif
Packit Service 0129ce
ifeq ("$(ASLTS_MODE)", "o64")
Packit Service 0129ce
	ASLTS_AMLDIR=opt/64
Packit Service 0129ce
	ASLTS_ASLFLAGS="-r 2"
Packit Service 0129ce
endif
Packit Service 0129ce
ifeq ("$(ASLTS_MODE)", "aslminus")
Packit Service 0129ce
	ASLTS_AMLDIR=aslminus/
Packit Service 0129ce
	ASLTS_ASLFLAGS="-oa -r 2"
Packit Service 0129ce
endif
Packit Service 0129ce
ifeq ("$(ASLTS_MODE)", "aslplus")
Packit Service 0129ce
	ASLTS_AMLDIR=aslplus/
Packit Service 0129ce
	ASLTS_ASLFLAGS="-oa -r 2"
Packit Service 0129ce
endif
Packit Service 0129ce
ifeq ("$(ASLTS_MODE)", "aslconvert")
Packit Service 0129ce
	ASLTS_AMLDIR=aslconvert/
Packit Service 0129ce
	ASLTS_ASLFLAGS="-oa -r 2"
Packit Service 0129ce
endif
Packit Service 0129ce
Packit Service 0129ce
endif
Packit Service 0129ce
ASLTS_VER ?= $(ASLTS_VER)
Packit Service 0129ce
Packit Service 0129ce
COMMON_NO_OUTPUT_ASL_FLAGS= "-of -cr -vs"
Packit Service 0129ce
COMMON_ASL_FLAGS= $(COMMON_NO_OUTPUT_ASL_FLAGS)" -l -sc -sa -ic -ta -ts -so -lm -ln -ls -li"
Packit Service 0129ce
Packit Service 0129ce
COMPILER_LOG="$(TOP)/tmp/aml/$(ASLTS_VER)/compile.txt"
Packit Service 0129ce
COMPILER_ERROR_LOG="$(TOP)/tmp/aml/$(ASLTS_VER)/error.txt"
Packit Service 0129ce
Packit Service 0129ce
# Create general directory
Packit Service 0129ce
Packit Service 0129ce
GDMODE=775
Packit Service 0129ce
INST= install
Packit Service 0129ce
INST.dir= $(INST) -d -m $(GDMODE) $@
Packit Service 0129ce
ASLMOD= MAIN
Packit Service 0129ce
Packit Service 0129ce
# Empty all (specify 'all' target, if needed, before Makefile.def include)
Packit Service 0129ce
Packit Service 0129ce
empty_all:	FORCE
Packit Service 0129ce
Packit Service 0129ce
# Rule to create directories located into aslts/tmp/aml;
Packit Service 0129ce
Packit Service 0129ce
$(TOP)/tmp/aml/$(ASLTS_VER)/$(ASLTS_AMLDIR):
Packit Service 0129ce
	@$(INST.dir)
Packit Service 0129ce
Packit Service 0129ce
# Make-install one particular Test Case for all modes
Packit Service 0129ce
Packit Service 0129ce
install_all_modes_of_test_case:	$(TOP)/tmp/aml/$(ASLTS_VER)/$(ASLTS_AMLDIR)
Packit Service 0129ce
	@rval=0; \
Packit Service 0129ce
	if [ -f "$(ASL)" ]; then \
Packit Service 0129ce
		dd=`pwd`; \
Packit Service 0129ce
		echo "---- Test path: $$dd" >> $(COMPILER_LOG); \
Packit Service 0129ce
		echo "---- Test path: $$dd" >> $(COMPILER_ERROR_LOG); \
Packit Service 0129ce
		>&2 echo "Test path: $$dd"; \
Packit Service 0129ce
		echo "---- Test type: $(ASLTS_AMLDIR)   (Flags $(COMMON_ASL_FLAGS) $(ASLTS_ASLFLAGS) $(ADD_ASLFLAGS))" >> $(COMPILER_LOG); \
Packit Service 0129ce
		echo "---- Test type: $(ASLTS_AMLDIR)   (Flags $(COMMON_ASL_FLAGS) $(ASLTS_ASLFLAGS) $(ADD_ASLFLAGS))" >> $(COMPILER_ERROR_LOG); \
Packit Service 0129ce
		for j in ${AMLMOD}; do \
Packit Service 0129ce
			rm -f $$j.aml; \
Packit Service 0129ce
		done; \
Packit Service 0129ce
		for j in ${ASLMOD} $(ASLMODADD); do \
Packit Service 0129ce
			echo "---- Compile: $$j.asl" >> $(COMPILER_LOG); \
Packit Service 0129ce
			>&2 printf "%-18s" "    Type: $(ASLTS_AMLDIR) "; \
Packit Service 0129ce
			>&2 printf  "Compile"; \
Packit Service 0129ce
			"$(ASL)" $(ASLTS_ASLFLAGS) "$(COMMON_ASL_FLAGS)" $(ADD_ASLFLAGS) $$j.asl >> $(COMPILER_LOG) 2>> $(COMPILER_ERROR_LOG); \
Packit Service 0129ce
			ret=$$?; \
Packit Service 0129ce
			echo "" >> $(COMPILER_LOG); \
Packit Service 0129ce
			>&2 printf " => Removing files"; \
Packit Service 0129ce
			rm $$j.asm; \
Packit Service 0129ce
			rm $$j.c; \
Packit Service 0129ce
			rm $$j.h; \
Packit Service 0129ce
			rm $$j.i; \
Packit Service 0129ce
			rm $$j.hex; \
Packit Service 0129ce
			rm $$j.lst; \
Packit Service 0129ce
			rm $$j.map; \
Packit Service 0129ce
			rm $$j.nsp; \
Packit Service 0129ce
			rm $$j.offset.h; \
Packit Service 0129ce
			rm $$j.src; \
Packit Service 0129ce
			>&2 printf " => Done "; \
Packit Service 0129ce
			if [ $$ret != 0 ]; then \
Packit Service 0129ce
				rval=1; \
Packit Service 0129ce
				>&2 echo "**** Unexpected iASL failure in $$dd/$$j.asl!"; \
Packit Service 0129ce
			fi; \
Packit Service 0129ce
		done; \
Packit Service 0129ce
		>&2 echo ""; \
Packit Service 0129ce
		if [ $$ret != 0 ]; then break; fi; \
Packit Service 0129ce
		for j in ${AMLMOD}; do \
Packit Service 0129ce
			ls -l $$j.aml >> $(COMPILER_LOG); \
Packit Service 0129ce
			echo "---- Move: $$j.aml $(TOP)/tmp/aml/$(ASLTS_VER)/$(ASLTS_AMLDIR)" >> $(COMPILER_LOG); \
Packit Service 0129ce
			mv $$j.aml $(TOP)/tmp/aml/$(ASLTS_VER)/$(ASLTS_AMLDIR); \
Packit Service 0129ce
			ret=$$?; \
Packit Service 0129ce
			if [ $$ret != 0 ]; then rval=2; echo "**** mv failed!" >> $(COMPILER_LOG) 2>> $(COMPILER_ERROR_LOG); break; fi; \
Packit Service 0129ce
		done; \
Packit Service 0129ce
	else \
Packit Service 0129ce
		echo "Bad iASL 0: <$(ASL)> does not exist"; \
Packit Service 0129ce
		exit 1; \
Packit Service 0129ce
	fi;
Packit Service 0129ce
Packit Service 0129ce
# Make-install one particular Test Case for all modes.
Packit Service 0129ce
Packit Service 0129ce
install_test_case:
Packit Service 0129ce
	@if [ ! -f "$(ASL)" ]; then \
Packit Service 0129ce
		echo "Bad iASL 1: <$(ASL)> does not exist"; exit 1; \
Packit Service 0129ce
	fi; \
Packit Service 0129ce
	if [ "$(ASLTS_MODE)" = "aslminus" ]; then \
Packit Service 0129ce
		make install_disasm_test_case DISASM_FLAG="-dl" ASLTS_MODE=$(ASLTS_MODE) ASLTS_VER=$(ASLTS_VER); \
Packit Service 0129ce
	elif [ "$(ASLTS_MODE)" = "aslplus" ]; then \
Packit Service 0129ce
		make install_disasm_test_case DISASM_FLAG="-d" ASLTS_MODE=$(ASLTS_MODE) ASLTS_VER=$(ASLTS_VER); \
Packit Service 0129ce
	elif [ "$(ASLTS_MODE)" = "aslconvert" ]; then \
Packit Service 0129ce
		make install_converter_test_case ASLTS_MODE=$(ASLTS_MODE) ASLTS_VER=$(ASLTS_VER); \
Packit Service 0129ce
	else \
Packit Service 0129ce
		make install_all_modes_of_test_case ASLTS_MODE=$(ASLTS_MODE) ASLTS_VER=$(ASLTS_VER); \
Packit Service 0129ce
	fi
Packit Service 0129ce
Packit Service 0129ce
Packit Service 0129ce
TEST_SEQUENCE_ASL_FLAGS="$(ASLTS_ASLFLAGS) $(COMMON_NO_OUTPUT_ASL_FLAGS)"
Packit Service 0129ce
Packit Service 0129ce
disasm_test_compile: $(TOP)/tmp/aml/$(ASLTS_VER)/$(ASLTS_AMLDIR)
Packit Service 0129ce
	@rval=0; \
Packit Service 0129ce
	for j in ${ASLMOD} $(ASLMODADD); do \
Packit Service 0129ce
		for k in ${AMLMOD}; do \
Packit Service 0129ce
			>&2 printf  " => Compile with externals in place"; \
Packit Service 0129ce
			"$(ASL)" -p $$k-extInPlace -oE $(ADD_ASLFLAGS) $(TEST_SEQUENCE_ASL_FLAGS) $$j.asl >> $(COMPILER_LOG) 2>> $(COMPILER_ERROR_LOG); \
Packit Service 0129ce
			ret=$$?; \
Packit Service 0129ce
			if [ $$ret != 0 ]; then \
Packit Service 0129ce
				rval=2; \
Packit Service 0129ce
				>&2 printf " [[ Error: compiling $$k.aml with externals in place failed ]]\n"; \
Packit Service 0129ce
				>&2 printf "          Flags used: -p $$k-extInPlace -oE $(ADD_ASLFLAGS) $(TEST_SEQUENCE_ASL_FLAGS)\n\n"; \
Packit Service 0129ce
			fi; \
Packit Service 0129ce
		done; \
Packit Service 0129ce
	done; \
Packit Service 0129ce
	if [ $$rval != 0 ]; then exit 1; fi
Packit Service 0129ce
Packit Service 0129ce
disasm_test_disassemble: disasm_test_compile
Packit Service 0129ce
	@rval=0; \
Packit Service 0129ce
	for k in ${AMLMOD}; do \
Packit Service 0129ce
		>&2 printf " => Disassemble"; \
Packit Service 0129ce
		"$(ASL)" -p $$k -oe -od $(COMMON_NO_OUTPUT_ASL_FLAGS) $(ADD_ASLFLAGS) $(DISASM_FLAG) $$k-extInPlace.aml >> $(COMPILER_LOG) 2>> $(COMPILER_ERROR_LOG); \
Packit Service 0129ce
		ret=$$?; \
Packit Service 0129ce
		if [ $$ret != 0 ]; then \
Packit Service 0129ce
			retval=2; \
Packit Service 0129ce
			>&2 printf " [[ Error: disassembly of $$k-extInPlace.aml failed ]]\n"; \
Packit Service 0129ce
			>&2 printf "          Flags used: -oe -od $(COMMON_NO_OUTPUT_ASL_FLAGS) $(ADD_ASLFLAGS) $(DISASM_FLAG)\n\n"; \
Packit Service 0129ce
		fi; \
Packit Service 0129ce
	done; \
Packit Service 0129ce
	if [ $$rval != 0 ]; then exit 1; fi
Packit Service 0129ce
Packit Service 0129ce
disasm_test_recompile: disasm_test_disassemble
Packit Service 0129ce
	@rval=0; \
Packit Service 0129ce
	for k in ${AMLMOD}; do \
Packit Service 0129ce
		>&2 printf " => Recompile\n"; \
Packit Service 0129ce
		"$(ASL)" $(ADD_ASLFLAGS) $(TEST_SEQUENCE_ASL_FLAGS) $$k.dsl >> $(COMPILER_LOG) 2>> $(COMPILER_ERROR_LOG); \
Packit Service 0129ce
		ret=$$?; \
Packit Service 0129ce
		if [ $$ret != 0 ]; then \
Packit Service 0129ce
			rval=2; \
Packit Service 0129ce
			>&2 printf " [[ Error: re-compilation of $$k-$$l.dsl failed]]\n"; \
Packit Service 0129ce
			>&2 printf "          Flags used: $(ADD_ASLFLAGS) $(TEST_SEQUENCE_ASL_FLAGS)\n\n"; \
Packit Service 0129ce
		fi; \
Packit Service 0129ce
		rm $$k.dsl; \
Packit Service 0129ce
		echo "---- Move: $$k.aml $(TOP)/tmp/aml/$(ASLTS_VER)/$(ASLTS_AMLDIR)" >> $(COMPILER_LOG); \
Packit Service 0129ce
		mv $$k.aml $(TOP)/tmp/aml/$(ASLTS_VER)/$(ASLTS_AMLDIR); \
Packit Service 0129ce
		ret=$$?; \
Packit Service 0129ce
		if [ $$ret != 0 ]; then rval=2; echo "**** mv failed!" >> $(COMPILER_LOG) 2>> $(COMPILER_ERROR_LOG); break; fi; \
Packit Service 0129ce
	done; \
Packit Service 0129ce
Packit Service 0129ce
install_disasm_test_case:
Packit Service 0129ce
	if [ "x$(ADD_ASLFLAGS)" != "x-f" ]; then \
Packit Service 0129ce
		make disasm_test_recompile; \
Packit Service 0129ce
		make clean; \
Packit Service 0129ce
	else \
Packit Service 0129ce
		>&2 echo "Skipping disassembler test for this test case"; \
Packit Service 0129ce
	fi;
Packit Service 0129ce
Packit Service 0129ce
converter_test_convert: $(TOP)/tmp/aml/$(ASLTS_VER)/$(ASLTS_AMLDIR)
Packit Service 0129ce
	@rval=0; \
Packit Service 0129ce
	for j in ${ASLMOD} $(ASLMODADD); do \
Packit Service 0129ce
		>&2 printf  "  Convert"; \
Packit Service 0129ce
		"$(ASL)" $(ADD_ASLFLAGS) -cr -ca $$j.asl >> $(COMPILER_LOG) 2>> $(COMPILER_ERROR_LOG); \
Packit Service 0129ce
		ret=$$?; \
Packit Service 0129ce
		if [ $$ret != 0 ]; then \
Packit Service 0129ce
			rval=2; \
Packit Service 0129ce
			>&2 printf " [[ Error: conversion of $$j.asl failed ]]\n"; \
Packit Service 0129ce
			>&2 printf "          Flags used: -ca\n\n"; \
Packit Service 0129ce
		fi; \
Packit Service 0129ce
	done; \
Packit Service 0129ce
	if [ $$rval != 0 ]; then exit 1; fi
Packit Service 0129ce
Packit Service 0129ce
converter_test_recompile: converter_test_convert
Packit Service 0129ce
	@rval=0; \
Packit Service 0129ce
	for j in ${ASLMOD} $(ASLMODADD); do \
Packit Service 0129ce
		for k in ${AMLMOD}; do \
Packit Service 0129ce
			>&2 printf " => Recompile"; \
Packit Service 0129ce
			"$(ASL)" $(ADD_ASLFLAGS) $(TEST_SEQUENCE_ASL_FLAGS) -p $$k $$j.dsl >> $(COMPILER_LOG) 2>> $(COMPILER_ERROR_LOG); \
Packit Service 0129ce
			ret=$$?; \
Packit Service 0129ce
			if [ $$ret != 0 ]; then \
Packit Service 0129ce
				rval=2; \
Packit Service 0129ce
				>&2 printf " [[ Error: re-compilation of $$j.dsl failed]]\n"; \
Packit Service 0129ce
				>&2 printf "          Flags used: $(ADD_ASLFLAGS) $(TEST_SEQUENCE_ASL_FLAGS) -p $$k\n\n"; \
Packit Service 0129ce
			else \
Packit Service 0129ce
				>&2 printf " => Done\n"; \
Packit Service 0129ce
			fi; \
Packit Service 0129ce
			echo "---- Move: $$k.aml $(TOP)/tmp/aml/$(ASLTS_VER)/$(ASLTS_AMLDIR)" >> $(COMPILER_LOG); \
Packit Service 0129ce
			mv $$k.aml $(TOP)/tmp/aml/$(ASLTS_VER)/$(ASLTS_AMLDIR); \
Packit Service 0129ce
			ret=$$?; \
Packit Service 0129ce
			if [ $$ret != 0 ]; then rval=2; echo "**** mv failed!" >> $(COMPILER_LOG) 2>> $(COMPILER_ERROR_LOG); break; fi; \
Packit Service 0129ce
		done; \
Packit Service 0129ce
	done; \
Packit Service 0129ce
Packit Service 0129ce
install_converter_test_case:
Packit Service 0129ce
	if [ "x$(ADD_ASLFLAGS)" != "x-f" ]; then \
Packit Service 0129ce
		make converter_test_recompile; \
Packit Service 0129ce
		make clean; \
Packit Service 0129ce
	else \
Packit Service 0129ce
		>&2 echo "Skipping converter test for this test case"; \
Packit Service 0129ce
	fi;
Packit Service 0129ce
Packit Service 0129ce
Packit Service 0129ce
Packit Service 0129ce
# Compile one particular Test Case for all modes.
Packit Service 0129ce
# No moving results to aslts/tmp/aml directory.
Packit Service 0129ce
Packit Service 0129ce
compile_test_case:
Packit Service 0129ce
	@rval=0; \
Packit Service 0129ce
Packit Service 0129ce
	echo "Compile_test_case"
Packit Service 0129ce
Packit Service 0129ce
	if [ -f "$(ASL)" ]; then \
Packit Service 0129ce
		for j in ${ASLMOD} $(ASLMODADD); do \
Packit Service 0129ce
			"$(ASL)" $(ASLTS_ASLFLAGS) $(ADD_ASLFLAGS) $$j.asl; \
Packit Service 0129ce
			ret=$$?; \
Packit Service 0129ce
			if [ $$ret != 0 ]; then rval=1; echo "**** Unexpected iASL failure!"; exit 1; fi; \
Packit Service 0129ce
		done; \
Packit Service 0129ce
	else \
Packit Service 0129ce
		echo "Bad iASL 4: <$(ASL)> does not exist"; \
Packit Service 0129ce
		rval=1; \
Packit Service 0129ce
	fi; \
Packit Service 0129ce
	if [ $$rval != 0 ]; then exit 1; fi
Packit Service 0129ce