stack_u64

Stack for uin64_t's
git clone git://www.tkruger.se/stack_u64.git
Log | Files | Refs | README

Makefile (902B)


      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 INSTALL_PATH=$(HOME)/.local
     12 BUILD=build
     13 
     14 TEST_SOURCE=test_stack_u64.c
     15 HEADER=stack_u64.h
     16 OBJS=stack_u64.o
     17 SHARED=stack_u64.so
     18 LIBSHARED=libstack_u64.so
     19 
     20 all: build $(OBJS) $(SHARED) test
     21 
     22 .c.o:
     23 	$(CC) $(CFLAGS) -c $< -o $(BUILD)/$@
     24 
     25 .o.so:
     26 	$(CC) -shared -fPIC $(BUILD)/$< -o $(BUILD)/$@
     27 
     28 test: $(TEST_SOURCE)
     29 	$(CC) $(CFLAGS) -o $(BUILD)/test $(TEST_SOURCE) $(BUILD)/$(OBJS)
     30 
     31 build:
     32 	mkdir -p $(BUILD)
     33 
     34 install:
     35 	cp $(BUILD)/$(SHARED) $(INSTALL_PATH)/lib/$(LIBSHARED)
     36 	chmod 644 $(INSTALL_PATH)/lib/$(LIBSHARED)
     37 	cp $(HEADER) $(INSTALL_PATH)/include/
     38 
     39 clean:
     40 	rm -rf $(BUILD)