commit 87cd39c38a57e698dac3573f471b2567281e9e65 parent 2eae90a8587d11c0b1df470fd30e5d4adcd85a17 Author: olikru <olikru@tkruger.se> Date: Thu, 25 Apr 2024 17:29:03 +0200 making is more normal Diffstat:
| M | Makefile | | | 71 | ++++++++++++++++++++++++++++++++++++----------------------------------- |
1 file changed, 36 insertions(+), 35 deletions(-)
diff --git a/Makefile b/Makefile @@ -17,8 +17,10 @@ INSTALL_PATH=$(HOME)/.local BUILD=build TEST_SOURCE=test_angrepp.c +TESTBIN=testbin + HEADERS=smallfactor.h -OBJS=\ +OBJ=\ smallfactor.o\ hnp.o\ cyclefind.o\ @@ -27,62 +29,61 @@ fmpzio.o\ wiener.o\ prodtree.o TOOLS=\ -hnpsolve\ -lcgfloyd\ -dbtool\ -pierre\ -varmkorv\ -small +tools/hnpsolve\ +tools/lcgfloyd\ +tools/dbtool\ +tools/pierre\ +tools/varmkorv\ +tools/small PRECOMPUTERS=\ -primorial16bit +precomputers/primorial16bit +TEST=test SHARED=angrepp.so LIBSHARED=libangrepp.so -BUILD_OBJS=$(OBJS:S/^/$(BUILD)\//g) TOOLS_DIR=tools PRECOMPUTERS_DIR=precomputers -all: build $(OBJS) $(SHARED) $(TOOLS) $(PRECOMPUTERS) - -build: - mkdir -p $(BUILD) - mkdir -p $(BUILD)/tools - mkdir -p $(BUILD)/precomputers +all: $(OBJ) $(SHARED) $(TOOLS) $(PRECOMPUTERS) $(TESTBIN) .c.o: - $(CC) -fPIC $(CFLAGS) -c $< -o $(BUILD)/$@ + $(CC) -fPIC $(CFLAGS) -c $< -o $@ $(SHARED): - $(CC) -shared -fPIC $(BUILD_OBJS) -o $(BUILD)/$(SHARED) $(LDFLAGS) + $(CC) -shared -fPIC $(OBJS) -o $(SHARED) $(LDFLAGS) + +# -- test + +testbin: $(OBJ) $(TEST_SOURCE) + $(CC) $(CFLAGS) -o $(TESTBIN) $(TEST_SOURCE) $(OBJ) $(LDFLAGS) -test: all $(TEST_SOURCE) - $(CC) $(CFLAGS) -o $(BUILD)/test $(TEST_SOURCE) $(BUILD_OBJS) $(LDFLAGS) - $(BUILD)/test +test: testbin + ./$(TESTBIN) # -- tools -hnpsolve: build $(OBJS) - $(CC) -I. $(CFLAGS) -o $(BUILD)/tools/hnpsolve $(TOOLS_DIR)/hnpsolve.c $(BUILD_OBJS) $(LDFLAGS) +tools/hnpsolve: $(OBJ) $(@:S/$/.c/) + $(CC) -I. $(CFLAGS) -o $@ $(TOOLS_DIR)/hnpsolve.c $(OBJ) $(LDFLAGS) -lcgfloyd: build $(OBJS) - $(CC) -I. $(CFLAGS) -o $(BUILD)/tools/lcgfloyd $(TOOLS_DIR)/lcgfloyd.c $(BUILD_OBJS) $(LDFLAGS) +tools/lcgfloyd: $(OBJ) + $(CC) -I. $(CFLAGS) -o $@ $(TOOLS_DIR)/lcgfloyd.c $(OBJ) $(LDFLAGS) -pierre: build $(OBJS) - $(CC) -I. $(CFLAGS) -o $(BUILD)/tools/pierre $(TOOLS_DIR)/pierre.c $(BUILD_OBJS) $(LDFLAGS) +tools/pierre: $(OBJ) + $(CC) -I. $(CFLAGS) -o $@ $(TOOLS_DIR)/pierre.c $(OBJ) $(LDFLAGS) -varmkorv: build $(OBJS) - $(CC) -I. $(CFLAGS) -o $(BUILD)/tools/varmkorv $(TOOLS_DIR)/varmkorv.c $(BUILD_OBJS) $(LDFLAGS) +tools/varmkorv: $(OBJ) + $(CC) -I. $(CFLAGS) -o $@ $(TOOLS_DIR)/varmkorv.c $(OBJ) $(LDFLAGS) -small: build $(OBJS) - $(CC) -I. $(CFLAGS) -o $(BUILD)/tools/small $(TOOLS_DIR)/small.c $(BUILD_OBJS) $(LDFLAGS) +tools/small: $(OBJ) + $(CC) -I. $(CFLAGS) -o $@ $(TOOLS_DIR)/small.c $(OBJ) $(LDFLAGS) -dbtool: build $(OBJS) - $(CC) -I. $(CFLAGS) -o $(BUILD)/tools/dbtool $(TOOLS_DIR)/dbtool.c $(BUILD_OBJS) $(LDFLAGS) -lsqlite3 +tools/dbtool: $(OBJ) $(@:S/$/.c/) + $(CC) -I. $(CFLAGS) -o $@ $(TOOLS_DIR)/dbtool.c $(OBJ) $(LDFLAGS) -lsqlite3 # -- precomputers -primorial16bit: build $(OBJS) - $(CC) -I. $(CFLAGS) -o $(BUILD)/precomputers/primorial16bit $(PRECOMPUTERS_DIR)/primorial16bit.c $(BUILD_OBJS) $(LDFLAGS) +precomputers/primorial16bit: $(OBJ) $(@:S/$/.c/) + $(CC) -I. $(CFLAGS) -o precomputers/primorial16bit $(PRECOMPUTERS_DIR)/primorial16bit.c $(BUILD_OBJS) $(LDFLAGS) install: mkdir -p $(INSTALL_PATH)/lib/angrepp @@ -92,4 +93,4 @@ install: cp $(HEADERS) $(INSTALL_PATH)/include/angrepp/ clean: - rm -rf $(BUILD) + rm -rf $(OBJ) $(SHARED) $(TOOLS) $(PRECOMPUTERS) $(TESTBIN)