graph

Graph/multigraph type
git clone git://www.tkruger.se/graph.git
Log | Files | Refs | README

Makefile (977B)


      1 .SUFFIXES: .c .o .so
      2 CC=clang
      3 CFLAGS+=-std=c99 -pedantic -Wall -Werror -Wstrict-prototypes
      4 CFLAGS+=-Wmissing-prototypes -Wmissing-declarations -Wshadow
      5 CFLAGS+=-Wpointer-arith -Wcast-qual -Wsign-compare
      6 CFLAGS+=-O2 -g
      7 CFLAGS+=-fstack-protector-all -Wtype-limits -fno-common
      8 CFLAGS+=-fno-builtin
      9 CFLAGS+=-I/usr/local/include
     10 
     11 CFLAGS+=-I$(HOME)/.local/include
     12 LFLAGS+=-L$(HOME)/.local/lib -lstack_u64
     13 
     14 INSTALL_PATH=$(HOME)/.local
     15 BUILD=build
     16 
     17 TEST_SOURCE=test_graph.c
     18 HEADER=graph.h
     19 OBJS=graph.o
     20 SHARED=graph.so
     21 LIBSHARED=libgraph.so
     22 
     23 all: build $(OBJS) $(SHARED) test
     24 
     25 .c.o:
     26 	$(CC) $(CFLAGS) -c $< -o $(BUILD)/$@
     27 
     28 .o.so:
     29 	$(CC) -shared -fPIC $(BUILD)/$< -o $(BUILD)/$@ $(LFLAGS)
     30 
     31 test: $(TEST_SOURCE)
     32 	$(CC) $(CFLAGS) -o $(BUILD)/test $(TEST_SOURCE) $(BUILD)/$(OBJS) $(LFLAGS)
     33 
     34 build:
     35 	mkdir -p $(BUILD)
     36 
     37 install:
     38 	cp $(BUILD)/$(SHARED) $(INSTALL_PATH)/lib/$(LIBSHARED)
     39 	chmod 644 $(INSTALL_PATH)/lib/$(LIBSHARED)
     40 	cp $(HEADER) $(INSTALL_PATH)/include/
     41 
     42 clean:
     43 	rm -rf $(BUILD)