diff options
Diffstat (limited to 'utils/nwztools/upgtools/Makefile')
-rw-r--r-- | utils/nwztools/upgtools/Makefile | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/utils/nwztools/upgtools/Makefile b/utils/nwztools/upgtools/Makefile index 5dede1447c..287fe99c65 100644 --- a/utils/nwztools/upgtools/Makefile +++ b/utils/nwztools/upgtools/Makefile @@ -1,26 +1,39 @@ DEFINES= -CC=gcc -CXX=g++ -LD=g++ -PROFILE= -PKGCONFIG := $(CROSS)pkg-config - +PREFIX?= +EXE_EXT?= +CC=$(PREFIX)gcc +CXX=$(PREFIX)g++ +LD=$(PREFIX)g++ +PKGCONFIG:=$(CROSS)pkg-config + +TARGET_TRIPLE:=$(shell $(CC) -dumpmachine) +ifneq ($(findstring -w64-,$(TARGET_TRIPLE)),) + TARGET_OS := Windows +endif + +ifeq ($(TARGET_OS), Windows) +# -static allows to statically include libwinpthread-1.dll if possible +CFLAGS+=-gstabs +CXXFLAGS+=-gstabs +LDFLAGS+=-static-libgcc -static +else # Distros could use different names for the crypto library. We try a list # of candidate names, only one of them should be the valid one. LIBCRYPTO_NAMES = libcryptopp libcrypto++ cryptopp crypto++ $(foreach l,$(LIBCRYPTO_NAMES),\ - $(eval LDOPTS += $(shell $(PKGCONFIG) --silence-errors --libs $(l)))) + $(eval LDLIBS += $(shell $(PKGCONFIG) --silence-errors --libs $(l)))) $(foreach l,$(LIBCRYPTO_NAMES),\ $(eval CFLAGS += $(shell $(PKGCONFIG) --silence-errors --cflags $(l)))) $(foreach l,$(LIBCRYPTO_NAMES),\ $(eval CXXFLAGS += $(shell $(PKGCONFIG) --silence-errors --cflags $(l)))) +endif -CXXFLAGS=-g $(PROFILE) -Wall $(DEFINES) -CFLAGS=-g $(PROFILE) -Wall -std=c99 $(DEFINES) -LDFLAGS=$(PROFILE) $(LDOPTS) -lpthread +CXXFLAGS+=-g -Wall $(DEFINES) +CFLAGS+=-g -Wall -std=c99 $(DEFINES) +LDLIBS+=-lpthread -BINS=upgtool +BINS=upgtool$(EXE_EXT) all: $(BINS) @@ -30,11 +43,11 @@ all: $(BINS) %.o: %.cpp $(CXX) $(CXXFLAGS) -c -o $@ $< -upgtool: upgtool.o upg.o misc.o mg.o keysig_search.o md5.o - $(LD) -o $@ $^ $(LDFLAGS) +upgtool$(EXE_EXT): upgtool.o upg.o misc.o mg.o keysig_search.o + $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) clean: - rm -fr *.o + rm -rf *.o veryclean: rm -rf $(BINS) |