libsml/sml/Makefile

69 lines
1.4 KiB
Makefile

UNAME := $(shell uname)
CFLAGS += -I./include/ -fPIC -fno-stack-protector -g -Wall
# Available Flags:
# _NO_UUID_LIB - compile without uuid lib
ifeq ($(UNAME), Linux)
LIBS=-luuid
endif
NAME=libsml
SOVERSION=1
SONAME=$(NAME).so.$(SOVERSION)
LIB_DIR=./lib
OBJ_LIB=$(LIB_DIR)/$(NAME).o
DYN_LIB=$(LIB_DIR)/$(SONAME)
ST_LIB=$(LIB_DIR)/$(NAME).a
OBJS = \
src/sml_file.o \
src/sml_attention_response.o \
src/sml_transport.o \
src/sml_octet_string.o \
src/sml_shared.o \
src/sml_number.o \
src/sml_message.o \
src/sml_time.o \
src/sml_list.o \
src/sml_status.o \
src/sml_value.o \
src/sml_tree.o \
src/sml_boolean.o \
src/sml_crc16.o \
src/sml_open_request.o \
src/sml_open_response.o \
src/sml_get_list_request.o \
src/sml_get_list_response.o \
src/sml_close_request.o \
src/sml_close_response.o \
src/sml_set_proc_parameter_request.o \
src/sml_get_proc_parameter_request.o \
src/sml_get_proc_parameter_response.o \
src/sml_get_profile_pack_request.o \
src/sml_get_profile_pack_response.o \
src/sml_get_profile_list_request.o \
src/sml_get_profile_list_response.o
ifeq ($(UNAME), Linux)
libsml: $(DYN_LIB) $(ST_LIB) $(OBJ_LIB)
endif
ifeq ($(UNAME), Darwin)
libsml: $(ST_LIB) $(OBJ_LIB)
endif
$(DYN_LIB): $(OBJS)
$(LD) $(LIBS) -shared -soname $(SONAME) -o $@ $^
$(OBJ_LIB): $(OBJS)
$(LD) -r -o $@ $^
$(ST_LIB): $(OBJS)
$(AR) -rs $@ $^
.PHONY: clean
clean:
@rm -f src/*.o
@rm -f $(DYN_LIB) $(OBJ_LIB) $(ST_LIB)