summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornorly <ny-git@enpas.org>2013-02-15 01:19:41 +0000
committernorly <ny-git@enpas.org>2013-02-15 01:30:22 +0000
commit430ce2a8749eb90ca0f8cdf18f5b217128c43e79 (patch)
tree8c838780bda4c7ebf4f778ca307f01b2d39bdfbe
parent2ddbfa53a31360e50565345a1ac08c0799c8243e (diff)
Better file structure and build system
Also fix some warnings
-rw-r--r--.gitignore10
-rw-r--r--Makefile61
-rwxr-xr-xdevstatus.sh6
-rw-r--r--include/config.h (renamed from config.h)0
-rw-r--r--include/status/battery.h (renamed from statuses/battery.h)0
-rw-r--r--include/status/cpuusage.h (renamed from statuses/cpuusage.h)0
-rw-r--r--include/status/datetime.h (renamed from statuses/datetime.h)0
-rw-r--r--include/status/fan.h (renamed from statuses/fan.h)0
-rw-r--r--include/status/memusage.h (renamed from statuses/memusage.h)0
-rw-r--r--include/status/netif.h (renamed from statuses/netif.h)0
-rw-r--r--include/status/temp.h (renamed from statuses/temp.h)0
-rw-r--r--include/status/uptime.h (renamed from statuses/uptime.h)0
-rw-r--r--include/status/volume_alsa.h (renamed from statuses/volume_alsa.h)0
-rw-r--r--include/tools.h (renamed from statuses/tools.h)0
-rwxr-xr-xrunstatus.sh2
-rw-r--r--src/status/battery.c (renamed from statuses/battery.c)13
-rw-r--r--src/status/cpuusage.c (renamed from statuses/cpuusage.c)5
-rw-r--r--src/status/datetime.c (renamed from statuses/datetime.c)6
-rw-r--r--src/status/fan.c (renamed from statuses/fan.c)6
-rw-r--r--src/status/memusage.c (renamed from statuses/memusage.c)4
-rw-r--r--src/status/netif.c (renamed from statuses/netif.c)5
-rw-r--r--src/status/temp.c (renamed from statuses/temp.c)6
-rw-r--r--src/status/uptime.c (renamed from statuses/uptime.c)7
-rw-r--r--src/status/volume_alsa.c (renamed from statuses/volume_alsa.c)4
-rw-r--r--src/sysstatus.c (renamed from sysstatus.c)19
-rw-r--r--src/tools/tools.c (renamed from statuses/tools.c)0
-rw-r--r--statuses/Makefile10
27 files changed, 100 insertions, 64 deletions
diff --git a/.gitignore b/.gitignore
index ae83cfe..5e13ff3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
-audstatus/*
-bitmaps/*
-*.log
-*.o
-sysstatus
+/audstatus
+/bitmaps
+/build
+.log
+.o
diff --git a/Makefile b/Makefile
index c7d3355..eda1d28 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,55 @@
-CC=gcc
-CCFLAGS=-Wall -Wextra -O3
-LDOUT=sysstatus
-LIBS=-lasound
+PROJ := sysstatus
-sysstatus: *.c *.h Makefile
- make -C statuses
- $(CC) $(CCFLAGS) -o $(LDOUT) $(LIBS) sysstatus.c statuses/*.o
+LIBRARIES := alsa
+BUILDDIR := build
+INCLUDEDIR := include
+SRCDIR := src
+
+EXE := $(BUILDDIR)/$(PROJ)
+HEADERS := $(shell find $(INCLUDEDIR)/ -iname "*.h")
+HEADERS += $(shell find $(SRCDIR)/ -iname "*.h")
+
+INCLUDES := $(patsubst %, -I%, $(INCLUDEDIR) $(SRCDIR))
+CFLAGS := -O3 -Wall -Wextra
+LDFLAGS :=
+
+SOURCES := $(shell find $(SRCDIR)/ -iname "*.c")
+OBJS := $(patsubst %.c, $(BUILDDIR)/%.o, $(SOURCES))
+
+INCLUDES += $(shell pkg-config --cflags-only-I $(LIBRARIES))
+CFLAGS += $(shell pkg-config --cflags-only-other $(LIBRARIES))
+LDFLAGS += $(shell pkg-config --libs $(LIBRARIES))
+
+
+
+.PHONY: default
+default: $(EXE)
+
+
+.PHONY: debug
+debug: $(EXE)
+ gdb $(EXE) $(shell ps -e | sed "s/^ *\([0-9]\+\) .*$(PROJ).*$$/\1/g;te;d;:e")
+
+
+$(EXE): $(OBJS)
+ @if [ ! -d $(BUILDDIR) ] ; then echo "Error: Build dir '$(BUILDDIR)' does not exist." ; false ; fi
+ gcc -o $@ $^ $(LDFLAGS)
+
+
+$(BUILDDIR)/$(SRCDIR)/%.o: $(SRCDIR)/%.c $(HEADERS)
+ @if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
+ gcc $(INCLUDES) $(CFLAGS) -c -o $@ $<
+
+
+.PHONY: clean
clean:
- make -C statuses clean
- rm -f sysstatus
+ rm -f $(STATICLIB)
+ rm -f $(OBJS)
+ rm -rf $(BUILDDIR)/
+
+
+.PHONY: distclean
+distclean: clean
+ find . -xdev -name "*~" -exec rm {} \;
+ find . -xdev -name "core" -exec rm {} \;
diff --git a/devstatus.sh b/devstatus.sh
deleted file mode 100755
index e78c3f4..0000000
--- a/devstatus.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-cd ~/sysstatus/
-make
-
-./runstatus.sh
diff --git a/config.h b/include/config.h
index 91ad943..91ad943 100644
--- a/config.h
+++ b/include/config.h
diff --git a/statuses/battery.h b/include/status/battery.h
index 0824392..0824392 100644
--- a/statuses/battery.h
+++ b/include/status/battery.h
diff --git a/statuses/cpuusage.h b/include/status/cpuusage.h
index 1de2aed..1de2aed 100644
--- a/statuses/cpuusage.h
+++ b/include/status/cpuusage.h
diff --git a/statuses/datetime.h b/include/status/datetime.h
index e4c9554..e4c9554 100644
--- a/statuses/datetime.h
+++ b/include/status/datetime.h
diff --git a/statuses/fan.h b/include/status/fan.h
index dd5e494..dd5e494 100644
--- a/statuses/fan.h
+++ b/include/status/fan.h
diff --git a/statuses/memusage.h b/include/status/memusage.h
index 9db9719..9db9719 100644
--- a/statuses/memusage.h
+++ b/include/status/memusage.h
diff --git a/statuses/netif.h b/include/status/netif.h
index 92ccc1f..92ccc1f 100644
--- a/statuses/netif.h
+++ b/include/status/netif.h
diff --git a/statuses/temp.h b/include/status/temp.h
index 0856a17..0856a17 100644
--- a/statuses/temp.h
+++ b/include/status/temp.h
diff --git a/statuses/uptime.h b/include/status/uptime.h
index 153f35d..153f35d 100644
--- a/statuses/uptime.h
+++ b/include/status/uptime.h
diff --git a/statuses/volume_alsa.h b/include/status/volume_alsa.h
index 044824d..044824d 100644
--- a/statuses/volume_alsa.h
+++ b/include/status/volume_alsa.h
diff --git a/statuses/tools.h b/include/tools.h
index 802b9f1..802b9f1 100644
--- a/statuses/tools.h
+++ b/include/tools.h
diff --git a/runstatus.sh b/runstatus.sh
index c279115..b16eebb 100755
--- a/runstatus.sh
+++ b/runstatus.sh
@@ -15,5 +15,5 @@ fi
cd ~/sysstatus/
killall sysstatus
-./sysstatus | dzen2 -ta l -fn "$FONT" -bg black -w $((RESX)) -y $((RESY+82)) -h 18 -ta r -expand left -e ""
+./build/sysstatus | dzen2 -ta l -fn "$FONT" -bg black -w $((RESX)) -y $((RESY+82)) -h 18 -ta r -expand left -e ""
#./sysstatus | tee /dev/shm/sysstatus-log | dzen2 -ta l -fn "$FONT" -bg black -y $((RESY+82)) -h 18 -ta r -expand left -e ""
diff --git a/statuses/battery.c b/src/status/battery.c
index 5375ea1..34bfcc0 100644
--- a/statuses/battery.c
+++ b/src/status/battery.c
@@ -1,8 +1,10 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
-#include "string.h"
-#include "battery.h"
+#include <string.h>
+
+#include "status/battery.h"
+#include "tools.h"
#ifndef POWER_BASEDIR
#define POWER_BASEDIR "/sys/class/power_supply/"
@@ -21,7 +23,6 @@ void status_battery(char *batname)
int chargeFull = -1;
int chargePercent = -1;
int battW = 1;
- int battV = 0;
float battTime = -1;
@@ -63,12 +64,6 @@ void status_battery(char *batname)
battW = atoi(stline);
}
- strcpy(&batpath[batpathlen], "/voltage_now");
- stlen = fileRead(stline, sizeof(stline), batpath);
- if (stlen > 0) {
- battV = atoi(stline);
- }
-
/* Prettyprint */
if (chargeFull > 0) {
diff --git a/statuses/cpuusage.c b/src/status/cpuusage.c
index 355f6bb..1bb34ae 100644
--- a/statuses/cpuusage.c
+++ b/src/status/cpuusage.c
@@ -2,8 +2,9 @@
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
-#include "cpuusage.h"
-#include "../config.h"
+
+#include "status/cpuusage.h"
+#include "config.h"
#ifndef NUM_CPUS
#define NUM_CPUS 1
diff --git a/statuses/datetime.c b/src/status/datetime.c
index abcc07b..a25d411 100644
--- a/statuses/datetime.c
+++ b/src/status/datetime.c
@@ -1,7 +1,9 @@
#include <stdio.h>
#include <time.h>
-#include "datetime.h"
-#include "../config.h"
+
+#include "status/datetime.h"
+#include "config.h"
+
void status_datetime()
{
diff --git a/statuses/fan.c b/src/status/fan.c
index 84cfa90..0e7cfdf 100644
--- a/statuses/fan.c
+++ b/src/status/fan.c
@@ -1,12 +1,14 @@
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
-#include "fan.h"
+
+#include "status/fan.h"
+#include "tools.h"
+
void status_fan(char *title, char *sysfile)
{
char stline[16];
- int stfile;
ssize_t stlen;
stlen = fileRead(stline, sizeof(stline), sysfile);
diff --git a/statuses/memusage.c b/src/status/memusage.c
index ea41134..6a6cb21 100644
--- a/statuses/memusage.c
+++ b/src/status/memusage.c
@@ -1,8 +1,10 @@
#include <stdio.h>
#include <stdlib.h>
-#include "memusage.h"
+
+#include "status/memusage.h"
#include "tools.h"
+
void status_memusage()
{
char *stline = NULL;
diff --git a/statuses/netif.c b/src/status/netif.c
index 581d279..23e6520 100644
--- a/statuses/netif.c
+++ b/src/status/netif.c
@@ -2,9 +2,10 @@
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
-#include "netif.h"
+
+#include "status/netif.h"
#include "tools.h"
-#include "../config.h"
+#include "config.h"
#ifndef NETIF_BASEDIR
#define NETIF_BASEDIR "/sys/class/net/"
diff --git a/statuses/temp.c b/src/status/temp.c
index f2cece8..e6763d0 100644
--- a/statuses/temp.c
+++ b/src/status/temp.c
@@ -1,12 +1,14 @@
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
-#include "temp.h"
+
+#include "status/temp.h"
+#include "tools.h"
+
void status_temp(char *title, char *sysfile)
{
char stline[16];
- int stfile;
ssize_t stlen;
stlen = fileRead(stline, sizeof(stline), sysfile);
diff --git a/statuses/uptime.c b/src/status/uptime.c
index fba6a6f..106051c 100644
--- a/statuses/uptime.c
+++ b/src/status/uptime.c
@@ -2,13 +2,14 @@
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
-#include "uptime.h"
-#include "../config.h"
+
+#include "status/uptime.h"
+#include "tools.h"
+#include "config.h"
void status_uptime()
{
char stline[16];
- int stfile;
ssize_t stlen;
int i;
int upts, uptm, upth, uptd;
diff --git a/statuses/volume_alsa.c b/src/status/volume_alsa.c
index 5d648c5..41f61b8 100644
--- a/statuses/volume_alsa.c
+++ b/src/status/volume_alsa.c
@@ -1,5 +1,7 @@
#include <alsa/asoundlib.h>
-#include "volume_alsa.h"
+
+#include "status/volume_alsa.h"
+
int status_volume_alsa(char *cardname, char *mixername, snd_mixer_selem_channel_id_t channel)
{
diff --git a/sysstatus.c b/src/sysstatus.c
index 9628b17..bbc945b 100644
--- a/sysstatus.c
+++ b/src/sysstatus.c
@@ -1,15 +1,16 @@
#include <stdio.h>
#include <stdlib.h>
+
#include "config.h"
-#include "statuses/battery.h"
-#include "statuses/cpuusage.h"
-#include "statuses/datetime.h"
-#include "statuses/fan.h"
-#include "statuses/memusage.h"
-#include "statuses/netif.h"
-#include "statuses/volume_alsa.h"
-#include "statuses/temp.h"
-#include "statuses/uptime.h"
+#include "status/battery.h"
+#include "status/cpuusage.h"
+#include "status/datetime.h"
+#include "status/fan.h"
+#include "status/memusage.h"
+#include "status/netif.h"
+#include "status/volume_alsa.h"
+#include "status/temp.h"
+#include "status/uptime.h"
void updatestatus()
diff --git a/statuses/tools.c b/src/tools/tools.c
index abb8a0d..abb8a0d 100644
--- a/statuses/tools.c
+++ b/src/tools/tools.c
diff --git a/statuses/Makefile b/statuses/Makefile
deleted file mode 100644
index fc60af6..0000000
--- a/statuses/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-STATUSES=battery.o cpuusage.o datetime.o fan.o memusage.o netif.o temp.o uptime.o volume_alsa.o
-OTHERS=tools.o
-
-all: *.c *.h ../config.h Makefile $(STATUSES) $(OTHERS)
-
-.c.o:
- $(CC) $(CCFLAGS) -c -o $@ $<
-
-clean:
- rm -f *.o