Patches by Robin H. Johnson <robbat2@gentoo.org> - 2006/05/29

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/, where the yacc generated data
might used before it was ready.

diff -Nuar --exclude '*~' acpica-unix-20060512.orig/Makefile acpica-unix-20060512/Makefile
--- acpica-unix-20060512.orig/Makefile	1969-12-31 16:00:00.000000000 -0800
+++ acpica-unix-20060512/Makefile	2006-05-29 16:28:55.560238471 -0700
@@ -0,0 +1,31 @@
+PROGS= compiler/iasl  tools/acpiexec/acpiexec tools/acpixtract/acpixtract tools/acpisrc/acpisrc
+ifndef CFLAGS
+CFLAGS= -O2 -g
+endif
+# warnings always important
+CFLAGS += -Wall -Wstrict-prototypes
+
+all: $(PROGS)
+
+iasl: compiler
+acpiexec: tools/acpiexec
+acpixtract: tools/acpixtract
+acpisrc: tools/acpisrc
+
+SUBDIRS = $(dir $(PROGS))
+.PHONY: $(SUBDIRS) all
+
+compiler: compiler/iasl
+tools/acpiexec: tools/acpiexec/acpiexec
+tools/acpixtract: tools/acpixtract/acpixtract
+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 -Nuar --exclude '*~' acpica-unix-20060512.orig/compiler/Makefile acpica-unix-20060512/compiler/Makefile
--- acpica-unix-20060512.orig/compiler/Makefile	2006-05-12 14:13:31.000000000 -0700
+++ acpica-unix-20060512/compiler/Makefile	2006-05-29 16:34:25.050744637 -0700
@@ -87,7 +87,7 @@
 	../osunixxf.c
 
 NOMAN=	YES
-CFLAGS+= -Wall -O2 -Wstrict-prototypes -D_LINUX -DACPI_ASL_COMPILER -I../include 
+CFLAGS+= -D_LINUX -DACPI_ASL_COMPILER -I../include 
 
 #YACC=	yacc
 YACC=	bison
@@ -101,14 +101,22 @@
 #CFLAGS+= -D_USE_BERKELEY_YACC
 #.endif
 
-aslmain : $(patsubst %.c,%.o, $(SRCS))
-	$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) \
-		$(LOADLIBES) $(LDLIBS) -o iasl
+OBJNAME = iasl
+OBJS= $(patsubst %.c,%.$(OBJNAME).o, $(SRCS))
+%.$(OBJNAME).o: %.c
+	$(COMPILE.c) $(OUTPUT_OPTION) $<
+
+$(PROG) : $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) \
+		$(LOADLIBES) $(LDLIBS) -o $(PROG)
 
 CLEANFILES= y.output y.tab.c y.tab.h aslcompiler.y.h \
-	aslcompilerparse.c aslcompilerlex.c iasl
+	aslcompilerparse.c aslcompilerlex.c $(PROG)
 
-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
@@ -117,5 +125,5 @@
 	${LEX} ${LFLAGS} -PAslCompiler -oaslcompilerlex.c aslcompiler.l
 
 clean : 
-	rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS))
+	rm -f $(CLEANFILES) $(OBJS)
 
diff -Nuar --exclude '*~' acpica-unix-20060512.orig/tools/acpiexec/Makefile acpica-unix-20060512/tools/acpiexec/Makefile
--- acpica-unix-20060512.orig/tools/acpiexec/Makefile	2006-05-12 14:13:43.000000000 -0700
+++ acpica-unix-20060512/tools/acpiexec/Makefile	2006-05-29 16:33:43.551484557 -0700
@@ -131,14 +131,19 @@
 	../../osunixxf.c
 
 
-CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../include 
+CFLAGS+= -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -I../../include 
 
+OBJNAME = acpiexec
+OBJS= $(patsubst %.c,%.$(OBJNAME).o, $(SRCS))
 
-acpiexec : $(patsubst %.c,%.o, $(SRCS))
-	$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG)
+%.$(OBJNAME).o: %.c
+	$(COMPILE.c) $(OUTPUT_OPTION) $<
+
+$(PROG): $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
 
 CLEANFILES= $(PROG)
 
 clean : 
-	rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS))
+	rm -f $(CLEANFILES) $(OBJS)
 
diff -Nuar --exclude '*~' acpica-unix-20060512.orig/tools/acpisrc/Makefile acpica-unix-20060512/tools/acpisrc/Makefile
--- acpica-unix-20060512.orig/tools/acpisrc/Makefile	2006-05-12 14:13:44.000000000 -0700
+++ acpica-unix-20060512/tools/acpisrc/Makefile	2006-05-29 16:33:03.300322581 -0700
@@ -4,14 +4,19 @@
 SRCS=	ascase.c asconvrt.c asfile.c asmain.c asremove.c astable.c \
         asutils.c osunixdir.c ../../common/getopt.c
 
-CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include 
+CFLAGS+= -D_LINUX -DACPI_APPLICATION -I../../include 
 
+OBJNAME = acpi_application
+OBJS= $(patsubst %.c,%.$(OBJNAME).o, $(SRCS))
 
-aslmain : $(patsubst %.c,%.o, $(SRCS))
-	$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG)
+%.$(OBJNAME).o: %.c
+	$(COMPILE.c) $(OUTPUT_OPTION) $<
+
+$(PROG) : $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
 
 CLEANFILES= $(PROG)
 
 clean : 
-	rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS))
+	rm -f $(CLEANFILES) $(OBJS)
 
diff -Nuar --exclude '*~' acpica-unix-20060512.orig/tools/acpixtract/Makefile acpica-unix-20060512/tools/acpixtract/Makefile
--- acpica-unix-20060512.orig/tools/acpixtract/Makefile	2006-05-12 14:13:44.000000000 -0700
+++ acpica-unix-20060512/tools/acpixtract/Makefile	2006-05-29 16:32:50.047281484 -0700
@@ -3,14 +3,19 @@
 PROG=	acpixtract
 SRCS=	acpixtract.c
 
-CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include 
+CFLAGS+= -D_LINUX -DACPI_APPLICATION -I../../include 
 
+OBJNAME = acpi_application
+OBJS= $(patsubst %.c,%.$(OBJNAME).o, $(SRCS))
 
-acpixtract : $(patsubst %.c,%.o, $(SRCS))
-	$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG)
+%.$(OBJNAME).o: %.c
+	$(COMPILE.c) $(OUTPUT_OPTION) $<
+ 
+$(PROG) : $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
 
 CLEANFILES= $(PROG)
 
 clean : 
-	rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS))
+	rm -f $(CLEANFILES) $(OBJS)
 
