diff --git a/examples/lib/lib_synth_shed/Makefile b/examples/lib/lib_synth_shed/Makefile index 420dfc2..412f072 100644 --- a/examples/lib/lib_synth_shed/Makefile +++ b/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_DYN=libsynth_shed.so -CFLAGS+=-std=c99 -g -fPIC +CFLAGS+=-std=c99 -g +CXXFLAGS+=-std=c++11 -g -SRCS=$(wildcard *.c) -OBJS=$(SRCS:.c=.o) +SRCS+=$(wildcard *.c) +OBJS_C+=$(SRCS:.c=.o99) +OBJS_CXX+=$(SRCS:.c=.oxx) -$(info -----BUILD INFO----) -$(info SRCS $(SRCS)) -$(info OBJS $(OBJS)) +.PHONY: all c99 cxx lib_static lib_dyn clean -.PHONY: all lib_static lib_dyn exe clean - -all: lib_static lib_dyn exe +all: c99 cxx lib_static lib_dyn +# Build the libs using C99 lib_static: $(LIB_STATIC) lib_dyn: $(LIB_DYN) -exe: $(TARGET_EXE) - -$(LIB_STATIC): $(OBJS) +$(LIB_STATIC): $(OBJS_C) $(AR) -rc $@ $^ -$(LIB_DYN): $(OBJS) +$(LIB_DYN): $(OBJS_C) $(CC) $(CFLAGS) -shared -o $@ $^ -$(TARGET_EXE): $(OBJS) + +# 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_EXE) + rm -f $(TARGET_C) + rm -f $(TARGET_CXX) rm -f $(LIB_STATIC) rm -f $(LIB_DYN) - rm -f $(OBJS) + rm -f $(OBJS_C) + rm -f $(OBJS_CXX) + diff --git a/examples/lib/lib_test/Makefile b/examples/lib/lib_test/Makefile index ca29732..81d5f88 100644 --- a/examples/lib/lib_test/Makefile +++ b/examples/lib/lib_test/Makefile @@ -1,24 +1,30 @@ TARGET_C=lib_test_c99 TARGET_CXX=lib_test_cxx +LIB_STATIC=liblib_test.a +LIB_DYN=liblib_test.so -SRCS+=$(wildcard *.c) CFLAGS+=-std=c99 -g CXXFLAGS+=-std=c++11 -g -INCLUDES+= -LIB_DIRS+= -LIBS+= -LDFLAGS+= - -CXXFLAGS+=$(INCLUDES) -LDFLAGS+=$(LIB_DIRS) -LDFLAGS+=$(LIBS) +SRCS+=$(wildcard *.c) OBJS_C+=$(SRCS:.c=.o99) 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: $(TARGET_C) @@ -41,5 +47,8 @@ $(TARGET_CXX) : $(OBJS_CXX) 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) +