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