wdg

Weighted directed graphs
git clone git://www.tkruger.se/wdg.git
Log | Files | Refs | README

Makefile (975B)


      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 -lfheap -lstack_u64
     13 
     14 INSTALL_PATH=$(HOME)/.local
     15 BUILD=build
     16 
     17 TEST_SOURCE=test_wdg.c
     18 HEADER=wdg.h
     19 OBJS=wdg.o
     20 SHARED=wdg.so
     21 LIBSHARED=libwdg.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)