CFLAGS=-Os -pipe -mmmx -msse -msse2 -mfpmath=sse -fschedule-insns2 -fexpensive-optimizations
#CFLAGS=-O0 -ggdb3 -pipe -Wall
#CFLAGS=-Os -pipe
CC=gcc
LIBS=-lm -ldbus-glib-1
GLIBINC=`pkg-config --cflags glib-2.0`
GLIBLIB=`pkg-config --libs glib-2.0`
DBUSINC=`pkg-config --cflags dbus-1`
DBUSLIB=`pkg-config --libs dbus-1`

SUBDIRS=libproc


all: vsgovernor

vsgovernor: vsgovernor.c config.h subdirs vsgov-locator.o vsgov-acpiscan.o
	$(CC) $(CFLAGS) $(LIBS) $(GLIBLIB) $(DBUSLIB) $(GLIBINC) $(DBUSINC) -o vsgovernor vsgov-acpiscan.o vsgov-locator.o libproc/libproc.o libproc/libacpi.o libproc/libproc-utils.o vsgovernor.c

vsgov-acpiscan.o: vsgov-acpiscan.h vsgov-acpiscan.c
	$(CC) $(CFLAGS) -c -o vsgov-acpiscan.o vsgov-acpiscan.c

vsgov-locator.o: vsgov-locator.h vsgov-locator.c
	$(CC) $(CFLAGS) -c -o vsgov-locator.o vsgov-locator.c

clean:
	rm -f vsgovernor *.o
	for file in $(SUBDIRS); do \
	  ${MAKE} -C $$file clean; \
	done

.PHONY: subdirs $(SUBDIRS)
subdirs: $(SUBDIRS)
$(SUBDIRS):
	${MAKE} -C $@ all
