diff options
author | salaaad2 <arthurdurant263@gmail.com> | 2022-03-31 22:57:06 +0200 |
---|---|---|
committer | salaaad2 <arthurdurant263@gmail.com> | 2022-03-31 22:57:06 +0200 |
commit | ad9bf788be5dedfc001ceae51512827596a0af04 (patch) | |
tree | 3c1863e126893c47bbf5ce958324f5acda9a30a1 /Makefile | |
download | smith-ad9bf788be5dedfc001ceae51512827596a0af04.tar.gz smith-ad9bf788be5dedfc001ceae51512827596a0af04.tar.bz2 smith-ad9bf788be5dedfc001ceae51512827596a0af04.tar.xz smith-ad9bf788be5dedfc001ceae51512827596a0af04.tar.zst smith-ad9bf788be5dedfc001ceae51512827596a0af04.zip |
mrsmith_v0.0.1
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6119205 --- /dev/null +++ b/Makefile @@ -0,0 +1,80 @@ +#==============================================================================# +# SMITH ( // +# Makefile ( )/ +# by salade )(/ +# ________________ ( /) +# ()__)____________))))) :^} +#==============================================================================# +# smith c/go makefile +# @version 0.1 +# +default: all + +#==============================================================================# +#--------------------------------- SHELL --------------------------------------# +#==============================================================================# +SHELL := /bin/sh +OS = $(shell uname) + +#==============================================================================# +#------------------------------ DIRECTORIES -----------------------------------# +#==============================================================================# +C_DIR = csrc/ +SRCS_DIR = ${C_DIR} +INCS_DIR = ${C_DIR} +OBJS_DIR = ${C_DIR}obj/ +OUT_DIR = ./ +#==============================================================================# +#------------------------------ FILES -----------------------------------------# +#==============================================================================# +SRCS_NAME = smith +#------------------------------------------------------------------------------# +SRCS = $(addprefix ${SRCS_DIR}, $(addsuffix .c, ${SRCS_NAME})) +#------------------------------------------------------------------------------# +INCS_NAME = smith +#------------------------------------------------------------------------------# +INCS = $(addprefix ${INCS_DIR}, $(addsuffix .h, ${INCS_NAME})) +#------------------------------------------------------------------------------# +OBJS = $(patsubst ${SRCS_DIR}%.c,${OBJS_DIR}%.o,${SRCS}) + +#==============================================================================# +#------------------------------ TARGETS ---------------------------------------# +#==============================================================================# +C_NAME = libsmith.a +NAME = smith +CC = clang +GO = go +#------------------------------------------------------------------------------# +CFLAGS = -O2 +CFLAGS += -Wall -Werror -Wextra -pedantic +CFLAGS += -finline -pipe + +#==============================================================================# +#------------------------------ C TARGET --------------------------------------# +#==============================================================================# +LDFLAGS = -O2 -pipe -pedantic +#------------------------------------------------------------------------------# +${OBJS_DIR}%.o: ${SRCS_DIR}%.c ${INCS} + ${CC} -c ${CFLAGS} ${CDEFS} -o $@ $< +#------------------------------------------------------------------------------# +${OBJS_DIR}: + mkdir -p ${OBJS_DIR} +#------------------------------------------------------------------------------# +${C_NAME}: ${OBJS_DIR} ${OBJS} ${INCS} + ar rcs ${OUT_DIR}${C_NAME} ${OBJS} + +#==============================================================================# +#------------------------------ ALL -------------------------------------------# +#==============================================================================# +#------------------------------------------------------------------------------# +all: ${C_NAME} + go build +#------------------------------------------------------------------------------# +clean: + rm -rvf ${OBJS_DIR} ${OUT_DIR}${NAME} +#------------------------------------------------------------------------------# +fclean: clean + go clean +#------------------------------------------------------------------------------# +# end :^} +#------------------------------------------------------------------------------# |