summaryrefslogblamecommitdiff
path: root/Makefile
blob: 264dbaa12c484ceed792c9294070e154ef33f6bf (plain) (tree)
1
2
3
4
5
6
7
8
9


            
 
          
                       
                            

             









                                        
 


                                           



























                                     





                           


                                                  
                                              

      
                      
 

                     
# TOOLS

# TOOL FLAGS

CFLAGS = \
	-Irgo/include \
	-Irgo/include-priv \
	-O3 \
	-g \
	-march=native \
	-std=c99 \
	-Wall \
	-Wextra \
	-Wpedantic

# Uncomment to enable freestanding mode:
#CFLAGS += \
	-Drgo_priv_nostdlib \
	-ffreestanding

# Uncomment to disable assembly algorithms:
#CFLAGS += -Drgo_priv_noasm

# HEADERS

HDRS = \
	rgo/include-priv/rgo-priv.h \
	rgo/include/rgo.h \

# BINARIES

OBJS = \
	rgo/src/fastimpl.o \
	rgo/src/fndbyte.o \
	rgo/src/fndchr.o \
	rgo/src/memcmp.o \
	rgo/src/memcpy.o \
	rgo/src/memdup.o \
	rgo/src/memeq.o \
	rgo/src/memfill.o \
	rgo/src/strcmp.o \
	rgo/src/strdup.o \
	rgo/src/streq.o \
	rgo/src/strfill.o \
	rgo/src/strcpy.o \
	rgo/src/strlen.o

LIB = librgo.a

# TARGETS

.PHONY: clean install purge

$(LIB): $(OBJS)
	ar r $@ $^

install: $(LIB)
	mkdir -pm755 $(HDRDIR)
	mkdir -pm755 $(LIBDIR)
	install -Dm644 rgo/include/rgo.h $(HDRDIR)
	install -Dm755 $(LIB) $(LIBDIR)/$(LIB)

clean:
	rm -fr $(OBJS)

purge: clean
	rm -fr $(LIB)