summaryrefslogblamecommitdiffstats
path: root/Makefile
blob: d1c2d3de19c34cf624f28d0e57c7d36225c4c6d4 (plain) (tree)



























                                                                                                                                                    
CFILES 		:= $(wildcard *.c)
OFILES		:= $(patsubst %.c,%.o,$(CFILES))

SHARED	?= 1
STATIC	?= 1
TEST	?= 0

CC	?=	gcc
AR	?= 	ar

WARNS	:= -Wall -Wextra -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion -Wshadow -Wcast-align
CFLAGS	:= $(WARNS) -L$(shell pwd)

.PHONY: all
all: $(OFILES)
ifeq ($(SHARED),1)
	$(CC) -shared $(CFLAGS) -o libcgds.so -fPIC $(CFILES)
endif
ifeq ($(STATIC),1)
	$(AR) rcs libcgds.a $^
endif
ifeq ($(TEST), 1)
	$(CC) -I$(shell pwd) -L. -l:libcgds.so -o testprg test/main.c
	export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(shell pwd) ; ./testprg
endif

%.o:%.c
	$(CC) -c -o $@ $<