Patches by Robin H. Johnson <robbat2@gentoo.org> - 2005/12/27

Previously using GCC you had to do make clean between making each of the
seperate utilities. This was due to the fact that depending on what compiler
defines were passed, the output was different.
The following patch makes the output files reflect which utility they are
compiled for, so they don't conflict, and no make clean is needed.

This patch also adds a top level Makefile to allow quick building of the entire
package.

Also fixes parallel build issues in compiler/ and two compile issues with
acpibin.
diff -Naur acpica-unix-20051216/Makefile acpica-unix-20051216.new/Makefile
--- acpica-unix-20051216/Makefile	1969-12-31 16:00:00.000000000 -0800
+++ acpica-unix-20051216.new/Makefile	2005-12-27 10:15:13.000000000 -0800
@@ -0,0 +1,29 @@
+PROGS= compiler/iasl  tools/acpiexec/acpiexec tools/acpibin/acpibin tools/acpisrc/acpisrc
+ifndef CFLAGS
+CFLAGS= -O2
+endif
+
+all: $(PROGS)
+
+iasl: compiler
+acpiexec: tools/acpiexec
+acpibin: tools/acpibin
+acpisrc: tools/acpisrc
+
+SUBDIRS = $(dir $(PROGS))
+.PHONY: $(SUBDIRS) all
+
+compiler: compiler/iasl
+tools/acpiexec: tools/acpiexec/acpiexec
+tools/acpibin: tools/acpibin/acpibin
+tools/acpisrc: tools/acpisrc/acpisrc
+
+
+$(PROGS):
+	CFLAGS="$(CFLAGS)" $(MAKE) -C $(dir $(@))
+
+clean: clean-subdirs
+clean-subdirs:
+	for dir in $(SUBDIRS); do \
+	  $(MAKE) -C $$dir clean; \
+	done
diff -Naur acpica-unix-20051216/compiler/Makefile acpica-unix-20051216.new/compiler/Makefile
--- acpica-unix-20051216/compiler/Makefile	2005-12-16 14:11:58.000000000 -0800
+++ acpica-unix-20051216.new/compiler/Makefile	2005-12-27 10:07:34.000000000 -0800
@@ -81,7 +81,7 @@
 	../osunixxf.c
 
 NOMAN=	YES
-CFLAGS+= -Wall -O2 -Wstrict-prototypes -D_LINUX -DACPI_ASL_COMPILER -I../include 
+CFLAGS+= -Wall -Wstrict-prototypes -D_LINUX -DACPI_ASL_COMPILER -I../include 
 
 #YACC=	yacc
 YACC=	bison
@@ -95,14 +95,22 @@
 #CFLAGS+= -D_USE_BERKELEY_YACC
 #.endif
 
-aslmain : $(patsubst %.c,%.o, $(SRCS))
-	$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) \
+%.iasl.o: %.c
+	$(COMPILE.c) $(OUTPUT_OPTION) $<
+
+OBJS= $(patsubst %.c,%.iasl.o, $(SRCS))
+
+aslmain : $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) \
 		$(LOADLIBES) $(LDLIBS) -o iasl
 
 CLEANFILES= y.output y.tab.c y.tab.h aslcompiler.y.h \
 	aslcompilerparse.c aslcompilerlex.c iasl
 
-aslcompilerparse.c: aslcompiler.y
+# force the YACC work to be done before any sources
+# as they all depend on it.
+$(SRCS): aslcompiler.y.h
+aslcompiler.y.h: aslcompiler.y
 	${YACC} ${YFLAGS} aslcompiler.y
 	cp y.tab.c aslcompilerparse.c
 	cp y.tab.h aslcompiler.y.h
@@ -111,5 +119,5 @@
 	${LEX} ${LFLAGS} -PAslCompiler -oaslcompilerlex.c aslcompiler.l
 
 clean : 
-	rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS))
+	rm -f $(CLEANFILES) $(OBJS)
 
diff -Naur acpica-unix-20051216/tools/acpibin/Makefile acpica-unix-20051216.new/tools/acpibin/Makefile
--- acpica-unix-20051216/tools/acpibin/Makefile	2005-12-16 14:12:10.000000000 -0800
+++ acpica-unix-20051216.new/tools/acpibin/Makefile	2005-12-27 09:43:28.000000000 -0800
@@ -12,14 +12,18 @@
 	../../osunixxf.c \
     ../../common/getopt.c
 
-CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include 
+CFLAGS+= -Wall -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include 
 
+%.acpibinsrc.o: %.c
+	$(COMPILE.c) $(OUTPUT_OPTION) $<
 
-acpibin : $(patsubst %.c,%.o, $(SRCS))
-	$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG)
+OBJS= $(patsubst %.c,%.acpibinsrc.o, $(SRCS))
+
+acpibin : $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
 
 CLEANFILES= $(PROG)
 
 clean : 
-	rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS))
+	rm -f $(CLEANFILES) $(OBJS)
 
diff -Naur acpica-unix-20051216/tools/acpibin/abcompare.c acpica-unix-20051216.new/tools/acpibin/abcompare.c
--- acpica-unix-20051216/tools/acpibin/abcompare.c	2005-12-16 14:12:10.000000000 -0800
+++ acpica-unix-20051216.new/tools/acpibin/abcompare.c	2005-12-26 23:44:16.000000000 -0800
@@ -116,6 +116,7 @@
  *****************************************************************************/
 
 #include "acpibin.h"
+#define O_BINARY 0
 #include <stdlib.h>
 
 
diff -Naur acpica-unix-20051216/tools/acpibin/acpibin.h acpica-unix-20051216.new/tools/acpibin/acpibin.h
--- acpica-unix-20051216/tools/acpibin/acpibin.h	2005-12-16 14:12:10.000000000 -0800
+++ acpica-unix-20051216.new/tools/acpibin/acpibin.h	2005-12-26 23:44:02.000000000 -0800
@@ -120,9 +120,9 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <fcntl.h>
-#include <io.h>
+#include <sys/io.h>
 #include <ctype.h>
-#include <direct.h>
+//#include <direct.h>
 #include <errno.h>
 
 #include "acpi.h"
diff -Naur acpica-unix-20051216/tools/acpiexec/Makefile acpica-unix-20051216.new/tools/acpiexec/Makefile
--- acpica-unix-20051216/tools/acpiexec/Makefile	2005-12-16 14:12:10.000000000 -0800
+++ acpica-unix-20051216.new/tools/acpiexec/Makefile	2005-12-27 09:41:46.000000000 -0800
@@ -130,14 +130,18 @@
 	../../osunixxf.c
 
 
-CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../include 
+CFLAGS+= -Wall -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../include 
 
+%.acpiexec.o: %.c
+	$(COMPILE.c) $(OUTPUT_OPTION) $<
 
-acpiexec : $(patsubst %.c,%.o, $(SRCS))
-	$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG)
+OBJS = $(patsubst %.c,%.acpiexec.o, $(SRCS))
+
+acpiexec : $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
 
 CLEANFILES= $(PROG)
 
 clean : 
-	rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS))
+	rm -f $(CLEANFILES) $(OBJS)
 
diff -Naur acpica-unix-20051216/tools/acpisrc/Makefile acpica-unix-20051216.new/tools/acpisrc/Makefile
--- acpica-unix-20051216/tools/acpisrc/Makefile	2005-12-16 14:12:11.000000000 -0800
+++ acpica-unix-20051216.new/tools/acpisrc/Makefile	2005-12-27 09:43:21.000000000 -0800
@@ -4,14 +4,18 @@
 SRCS=	ascase.c asconvrt.c asfile.c asmain.c asremove.c asutils.c osunixdir.c \
         ../../common/getopt.c
 
-CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include 
+CFLAGS+= -Wall -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include 
 
+%.acpibinsrc.o: %.c
+	$(COMPILE.c) $(OUTPUT_OPTION) $<
 
-aslmain : $(patsubst %.c,%.o, $(SRCS))
-	$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG)
+OBJS= $(patsubst %.c,%.acpibinsrc.o, $(SRCS))
+
+aslmain : $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
 
 CLEANFILES= $(PROG)
 
 clean : 
-	rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS))
+	rm -f $(CLEANFILES) $(OBJS)
 
