BUILD_DIR := build CC := gcc CFLAGS := -Wall -fPIC -O3 all: $(BUILD_DIR)/libbits.so $(BUILD_DIR)/hellobits $(BUILD_DIR)/libbits.so: $(BUILD_DIR)/bits.o @mkdir -p $(@D) $(CC) $(CFLAGS) -shared -o $@ $< $(BUILD_DIR)/bits.o: bits.c bits.h @mkdir -p $(@D) $(CC) $(CFLAGS) -o $@ $< -c $(BUILD_DIR)/hellobits: $(BUILD_DIR)/hellobits.o $(BUILD_DIR)/libbits.so @mkdir -p $(@D) $(CC) -Wall -g -o $@ $< -L$(BUILD_DIR) -lbits $(BUILD_DIR)/hellobits.o: hellobits.c bits.h @mkdir -p $(@D) $(CC) -Wall -g -o $@ $< -c clean: rm -rf $(BUILD_DIR)