Browse Source

lib_test/lib_synth_shed - "Clean C" check using c99 AND c++11 compiler (identical Makefiles)

master
heck 4 years ago
parent
commit
da53821bd0
  1. 51
      examples/lib/lib_synth_shed/Makefile
  2. 31
      examples/lib/lib_test/Makefile

51
examples/lib/lib_synth_shed/Makefile

@ -1,37 +1,54 @@
TARGET_EXE=synth_shed TARGET_C=synth_shed_c99
TARGET_CXX=synth_shed_cxx
LIB_STATIC=libsynth_shed.a LIB_STATIC=libsynth_shed.a
LIB_DYN=libsynth_shed.so LIB_DYN=libsynth_shed.so
CFLAGS+=-std=c99 -g -fPIC CFLAGS+=-std=c99 -g
CXXFLAGS+=-std=c++11 -g
SRCS=$(wildcard *.c) SRCS+=$(wildcard *.c)
OBJS=$(SRCS:.c=.o) OBJS_C+=$(SRCS:.c=.o99)
OBJS_CXX+=$(SRCS:.c=.oxx)
$(info -----BUILD INFO----) .PHONY: all c99 cxx lib_static lib_dyn clean
$(info SRCS $(SRCS))
$(info OBJS $(OBJS))
.PHONY: all lib_static lib_dyn exe clean all: c99 cxx lib_static lib_dyn
all: lib_static lib_dyn exe
# Build the libs using C99
lib_static: $(LIB_STATIC) lib_static: $(LIB_STATIC)
lib_dyn: $(LIB_DYN) lib_dyn: $(LIB_DYN)
exe: $(TARGET_EXE) $(LIB_STATIC): $(OBJS_C)
$(LIB_STATIC): $(OBJS)
$(AR) -rc $@ $^ $(AR) -rc $@ $^
$(LIB_DYN): $(OBJS) $(LIB_DYN): $(OBJS_C)
$(CC) $(CFLAGS) -shared -o $@ $^ $(CC) $(CFLAGS) -shared -o $@ $^
$(TARGET_EXE): $(OBJS)
# C99
c99: $(TARGET_C)
%.o99 : %.c
$(CC) $(CFLAGS) -c $< -o $@
$(TARGET_C) : $(OBJS_C)
$(CC) $(LDFLAGS) -o $@ $^ $(CC) $(LDFLAGS) -o $@ $^
# C++
cxx: $(TARGET_CXX)
%.oxx : %.c
$(CXX) $(CXXFLAGS) -c $< -o $@
$(TARGET_CXX) : $(OBJS_CXX)
$(CXX) $(LDFLAGS) -o $@ $^
clean: clean:
rm -f $(TARGET_EXE) rm -f $(TARGET_C)
rm -f $(TARGET_CXX)
rm -f $(LIB_STATIC) rm -f $(LIB_STATIC)
rm -f $(LIB_DYN) rm -f $(LIB_DYN)
rm -f $(OBJS) rm -f $(OBJS_C)
rm -f $(OBJS_CXX)

31
examples/lib/lib_test/Makefile

@ -1,24 +1,30 @@
TARGET_C=lib_test_c99 TARGET_C=lib_test_c99
TARGET_CXX=lib_test_cxx TARGET_CXX=lib_test_cxx
LIB_STATIC=liblib_test.a
LIB_DYN=liblib_test.so
SRCS+=$(wildcard *.c)
CFLAGS+=-std=c99 -g CFLAGS+=-std=c99 -g
CXXFLAGS+=-std=c++11 -g CXXFLAGS+=-std=c++11 -g
INCLUDES+=
LIB_DIRS+=
LIBS+=
LDFLAGS+=
CXXFLAGS+=$(INCLUDES) SRCS+=$(wildcard *.c)
LDFLAGS+=$(LIB_DIRS)
LDFLAGS+=$(LIBS)
OBJS_C+=$(SRCS:.c=.o99) OBJS_C+=$(SRCS:.c=.o99)
OBJS_CXX+=$(SRCS:.c=.oxx) OBJS_CXX+=$(SRCS:.c=.oxx)
.PHONY: all c99 cxx clean .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 $@ $^
all: c99
# C99 # C99
c99: $(TARGET_C) c99: $(TARGET_C)
@ -41,5 +47,8 @@ $(TARGET_CXX) : $(OBJS_CXX)
clean: clean:
rm -f $(TARGET_C) rm -f $(TARGET_C)
rm -f $(TARGET_CXX) rm -f $(TARGET_CXX)
rm -f $(LIB_STATIC)
rm -f $(LIB_DYN)
rm -f $(OBJS_C) rm -f $(OBJS_C)
rm -f $(OBJS_CXX) rm -f $(OBJS_CXX)

Loading…
Cancel
Save