Browse Source

Build: Create static lib

master
heck 2 years ago
parent
commit
40601a26da
  1. 28
      src/Makefile

28
src/Makefile

@ -1,6 +1,7 @@
-include build.conf.deploy_macos -include build.conf.deploy_macos
TARGET=fvflash TARGET_EXE=fvflash
TARGET_LIB=libch341eeprom.a
# default config # default config
SYS_PREFIX?=/opt/local SYS_PREFIX?=/opt/local
@ -13,10 +14,16 @@ CFLAGS+=-std=c99 -MMD -MP -Wno-format-extra-args -Wno-deprecated-declarations
CFLAGS+=-isystem$(SYS_INC_PATH) -fvisibility=hidden CFLAGS+=-isystem$(SYS_INC_PATH) -fvisibility=hidden
LDFLAGS+=-DMACOSX_DEPLOYMENT_TARGET=11.00 -framework Foundation -framework IOKit -framework Security LDFLAGS+=-DMACOSX_DEPLOYMENT_TARGET=11.00 -framework Foundation -framework IOKit -framework Security
STATIC_LINK_LIBS=$(SYS_LIB_PATH)/libusb-1.0.a
SRC=$(wildcard *.c) SRC_ALL=$(wildcard *.c)
OBJ=$(subst .c,.o,$(SRC)) SRC_EXE=fvflash.c
DEPENDS=$(subst .c,.d,$(SRC)) SRC_LIB=$(filter-out $(SRC_EXE), $(SRC_ALL))
#OBJ_EXE=$(subst .c,.o,$(SRC_EXE))
OBJ_LIB=$(subst .c,.o,$(SRC_LIB))
DEPENDS=$(subst .c,.d,$(SRC_ALL))
ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),clean)
-include $(DEPENDS) -include $(DEPENDS)
@ -25,12 +32,17 @@ endif
.PHONY: all clean uninstall install .PHONY: all clean uninstall install
.DEFAULT_GOAL := all .DEFAULT_GOAL := all
all: $(TARGET) all: $(TARGET_EXE)
lib: $(TARGET_LIB)
$(TARGET_EXE): $(SRC_EXE) $(TARGET_LIB)
$(CXX) $(LDFLAGS) $(TARGET_LIB) $(STATIC_LINK_LIBS) $(SRC_EXE) -o $@
$(TARGET): $(OBJ) $(TARGET_LIB): $(OBJ_LIB)
$(CXX) $(LDFLAGS) $(SYS_LIB_PATH)/libusb-1.0.a $(OBJ) -o "$@" $(AR) -cr $@ $^
clean: clean:
rm $(OBJ) $(TARGET) $(DEPENDS) rm $(OBJ_LIB) $(TARGET_LIB) $(TARGET_EXE) $(DEPENDS)

Loading…
Cancel
Save