slackbuilds_ponce/development/acpica/acpica-unix-20060512-buildfixup.patch
2010-05-11 20:00:21 +02:00

177 lines
5.7 KiB
Diff

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)