summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: aee11cad3d1b752e3604fcc211976c18cf0a3f8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
VALAC?=valac
SOURCES:=$(wildcard *.c)
OBJECTS:=$(patsubst %.c, %.o, $(SOURCES))
CFLAGS+=`pkg-config --cflags libusb`
LIBS+=`pkg-config --libs libusb`
NAME:=libweatherstation.so
SONAME=$(NAME).0
LONGNAME=$(NAME).0.0

all: library demo

library: $(LONGNAME)
	@ln -sf $(LONGNAME) $(SONAME)
	@ln -sf $(SONAME) $(NAME)

%.o: %.c
	@echo "[CC] $<"
	@$(CC) $(CFLAGS) -c -std=c99 -fPIC -o $@ $<

$(LONGNAME): $(OBJECTS)
	@echo "[LD] $^"
	@$(CC) -shared -Wl,-soname,$(SONAME) -o $@ $(LIBS) $^

demo: demo.vala
	@echo "[VALAC] $^"
	@$(VALAC) --vapidir=. --Xcc=-I. --Xcc=-L. --Xcc=-lweatherstation --pkg posix --pkg libweatherstation $^

clean:
	rm -f $(OBJECTS) $(LONGNAME) $(SONAME) $(NAME) demo

.PHONY: all library clean