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