1#
2# Sysinfo
3#
4# Copyright (c) 2017 Guillaume Gomez
5#
6
7#
8# Please note that this Makefile only generates the c example.
9#
10
11IDIR = ./src
12CC = gcc
13CFLAGS = -I$(IDIR)
14
15ODIR = examples/
16LDIR = ./target/debug/
17LDIR-RELEASE = ./target/release/
18
19LIBS = -lsysinfo -lpthread
20
21_DEPS = sysinfo.h
22DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS))
23
24_OBJ = simple.o
25OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ))
26
27
28simple: $(OBJ)
29	@echo "Compiling in debug mode"
30	cargo build --features=c-interface
31	gcc -o $@ $^ $(CFLAGS) -L$(LDIR) $(LIBS)
32
33release: $(OBJ)
34	@echo "Compiling in release mode"
35	cargo build --features=c-interface --release
36	gcc -o simple $^ $(CFLAGS) -L$(LDIR-RELEASE) $(LIBS)
37
38$(ODIR)/%.o: %.c $(DEPS)
39	$(CC) -c -o $@ $< $(CFLAGS)
40
41.PHONY: simple
42
43clean:
44	@echo "Cleaning mess"
45	rm -f $(ODIR)/*.o *~ core $(INCDIR)/*~
46