1# 2# Common make for acpica tools and utilities 3# 4 5# 6# Get the OS machine architecture. Anything with a "64" in the returned 7# string will be treated as a 64-bit OS. Otherwise, the default is 32-bit. 8# 9ifeq ($(HOST), _FreeBSD) 10HARDWARE_NAME := $(shell uname -p) 11else 12ifeq ($(HOST), _QNX) 13HARDWARE_NAME := x86pc 14else 15HARDWARE_NAME := $(shell uname -m) 16endif 17endif 18 19# 20# Main rule will only generate versions that are appropriate for the running 21# OS, either 64-bit or 32-bit. 22# 23all: $(PROGS) 24$(PROGS): FORCE 25 @cd $(BUILD_DIRECTORY_PATH)/$@; \ 26 mkdir -p obj; \ 27 $(MAKE) || exit "$$?"; \ 28 if [ $(findstring 64,$(HARDWARE_NAME)) ]; then \ 29 echo "64-bit version of $@:"; \ 30 else \ 31 echo "32-bit version of $@:"; \ 32 fi; \ 33 ls -al ../bin/$@; \ 34 echo ""; 35 36# 37# Simple clean removes all .obj files, but leaves the executables 38# in the local bin directory 39# 40clean: FORCE 41 @for toolname in $(PROGS); do \ 42 (cd $(BUILD_DIRECTORY_PATH)/$$toolname; \ 43 if [ -d "obj" ] ; then \ 44 echo "Removing $$toolname:"; \ 45 pwd; \ 46 $(MAKE) clean; \ 47 rmdir obj; \ 48 echo ""; \ 49 fi; \ 50 ); \ 51 done; 52 53# 54# Very clean removes all executables and the local bin directory 55# 56veryclean: FORCE 57 @for toolname in $(PROGS); do \ 58 (cd $(BUILD_DIRECTORY_PATH)/$$toolname; \ 59 if [ -d "obj" ] ; then \ 60 echo "Removing $$toolname:"; \ 61 pwd; \ 62 $(MAKE) clean; \ 63 rmdir obj; \ 64 echo ""; \ 65 fi; \ 66 ); \ 67 if [ -e "$(BUILD_DIRECTORY_PATH)/bin/$$toolname" ] ; then \ 68 rm $(BUILD_DIRECTORY_PATH)/bin/$$toolname; \ 69 fi; \ 70 done; \ 71 if [ -d "bin" ] ; then \ 72 rmdir bin; \ 73 fi; 74 75# 76# Install all tools, either 32-bit or 64-bit as appropriate for the host OS 77# 78install: FORCE 79 @for toolname in $(PROGS); do \ 80 (cd $(BUILD_DIRECTORY_PATH)/$$toolname; \ 81 pwd; \ 82 $(MAKE) PROG=$$toolname install; \ 83 if [ $(findstring 64,$(HARDWARE_NAME)) ]; then \ 84 echo "Installed 64-bit version of $$toolname"; \ 85 else \ 86 echo "Installed 32-bit version of $$toolname"; \ 87 fi; \ 88 echo ""; \ 89 ); \ 90 done; 91 92machine: FORCE 93 @echo "Machine architecture: $(HARDWARE_NAME), $(XBITS)"; 94 @echo "Findstring: $(findstring 64, $(HARDWARE_NAME))"; 95 96FORCE: 97 98