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