
2 changed files with 54 additions and 28 deletions
@ -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) |
||||
|
|
||||
|
Loading…
Reference in new issue