diff options
| author | JP Appel <jeanpierre.appel01@gmail.com> | 2024-07-22 14:38:04 -0400 |
|---|---|---|
| committer | JP Appel <jeanpierre.appel01@gmail.com> | 2024-07-22 14:38:04 -0400 |
| commit | 6fe107fc27b9a900b20960335e15e4b90f93eb73 (patch) | |
| tree | 137a6db145e0db1662304a893b2d46d1b70a3243 /Makefile | |
| parent | 337ffc577ad20a457b086dee8b3af8bcde8c2881 (diff) | |
add dynamic targets to makefile
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 59 |
1 files changed, 49 insertions, 10 deletions
@@ -2,25 +2,64 @@ CC := gcc CFLAGS := -Wall DEBUG_FLAGS := -ggdb -Og -SRCS := eztester.c -OBJS := eztester.o eztester_debug.o -STATIC_LIBS := libeztester.a libeztester_debug.a -DYNAMIC_LIBS := libeztester.a libeztester_debug.a +VERSION:= 0.1 -.PHONY: all static clean +BUILD_DIR := build +SRCS := eztester.c test_list.c +STATIC_OBJS := $(addprefix $(BUILD_DIR)/static/,$(SRCS:.c=.o)) +DYNAMIC_OBJS := $(addprefix $(BUILD_DIR)/dynamic/,$(SRCS:.c=.o)) +STATIC_LIBS := $(BUILD_DIR)/static/libeztester.a $(BUILD_DIR)/static/libeztester_debug.a +DYNAMIC_LIBS := $(BUILD_DIR)/dynamic/libeztester.so $(BUILD_DIR)/dynamic/libeztester_debug.so all: $(STATIC_LIBS) +.PHONY: all static dynamic clean info + +all: $(STATIC_LIBS) $(DYNAMIC_LIBS) + +#static static: $(STATIC_LIBS) -%.o: %.c +$(BUILD_DIR)/static/libeztester.a: $(STATIC_OBJS) + ar rcs $@ $^ + +$(BUILD_DIR)/static/libeztester_debug.a: $(STATIC_OBJS:.c=_debug.o) + ar rcs $@ $^ + +$(BUILD_DIR)/static/%.o: %.c $(BUILD_DIR)/static $(CC) -c $(CFLAGS) -O3 -o $@ $< -%_debug.o: %.c +$(BUILD_DIR)/static/%_debug.o: %.c $(BUILD_DIR)/static $(CC) -c $(DEBUG_FLAGS) $(CFLAGS) -o $@ $< -lib%.a: %.o - ar rcs $@ $< +$(BUILD_DIR)/static: + mkdir -p $@ + +# dynamic +dynamic: $(DYNAMIC_LIBS) + +$(BUILD_DIR)/dynamic/libeztester.so: $(DYNAMIC_OBJS) + $(CC) -shared -o $@ $^ + +$(BUILD_DIR)/dynamic/libeztester_debug.so: $(DYNAMIC_OBJS:.c=_debug.o) + $(CC) -shared -o $@ $^ + +$(BUILD_DIR)/dynamic/%.o: %.c $(BUILD_DIR)/dynamic + $(CC) -fpic -c $(CFLAGS) -O3 -o $@ $< + +$(BUILD_DIR)/dynamic/%_debug.o: %.c $(BUILD_DIR)/dynamic + $(CC) -fpic -c $(CFLAGS) $(DEBUG_FLAGS) -o $@ $< + +$(BUILD_DIR)/dynamic: + mkdir -p $@ + +info: + @echo "SRCS: $(SRCS)" + @echo "STATIC_OBJS: $(STATIC_OBJS)" + @echo "STATIC_LIBS: $(STATIC_LIBS)" + @echo "DYNAMIC_OBJS: $(DYNAMIC_OBJS)" + @echo "DYNAMIC_LIBS: $(DYNAMIC_LIBS)" + clean: - rm $(STATIC_LIBS) $(OBJS) + rm -rf $(BUILD_DIR)/static $(BUILD_DIR)/dynamic |
