You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
855 B
54 lines
855 B
TARGET_C=lib_test_c99
|
|
TARGET_CXX=lib_test_cxx
|
|
LIB_STATIC=liblib_test.a
|
|
LIB_DYN=liblib_test.so
|
|
|
|
CFLAGS+=-std=c99 -g -UNDEBUG
|
|
CXXFLAGS+=-std=c++11 -g -UNDEBUG
|
|
|
|
SRCS+=$(wildcard *.c)
|
|
OBJS_C+=$(SRCS:.c=.o99)
|
|
OBJS_CXX+=$(SRCS:.c=.oxx)
|
|
|
|
.PHONY: all c99 cxx lib_static lib_dyn clean
|
|
|
|
all: c99 cxx lib_static lib_dyn
|
|
|
|
# Build the libs using C99
|
|
lib_static: $(LIB_STATIC)
|
|
|
|
lib_dyn: $(LIB_DYN)
|
|
|
|
$(LIB_STATIC): $(OBJS_C)
|
|
$(AR) -rc $@ $^
|
|
|
|
$(LIB_DYN): $(OBJS_C)
|
|
$(CC) $(CFLAGS) -shared -o $@ $^
|
|
|
|
|
|
# C99
|
|
c99: $(TARGET_C)
|
|
|
|
%.o99 : %.c
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
$(TARGET_C) : $(OBJS_C)
|
|
$(CC) $(LDFLAGS) -o $@ $^
|
|
|
|
# C++
|
|
cxx: $(TARGET_CXX)
|
|
|
|
%.oxx : %.c
|
|
$(CXX) $(CXXFLAGS) -c $< -o $@
|
|
|
|
$(TARGET_CXX) : $(OBJS_CXX)
|
|
$(CXX) $(LDFLAGS) -o $@ $^
|
|
|
|
clean:
|
|
rm -f $(TARGET_C)
|
|
rm -f $(TARGET_CXX)
|
|
rm -f $(LIB_STATIC)
|
|
rm -f $(LIB_DYN)
|
|
rm -f $(OBJS_C)
|
|
rm -f $(OBJS_CXX)
|
|
|
|
|