1 contributor
CC=gcc
AR=ar
STRIP=strip
CFLAGS += -O3 -Wall -Werror -static
TIMEOUT=5
ifeq ($(DEBUG),y)
CFLAGS +=-g -D_DEBUG
endif
CFLAGS += -DTIMEOUT=${TIMEOUT}
OBJ = tinydns.o
TARGET = linux
ARCH = $(shell uname -m)
ifeq ($(MACHINE),arm6)
ARCH=arm6
PREFIX=arm-linux-gnueabi
CC=$(PREFIX)-gcc
AR=$(PREFIX)-ar
STRIP=$(PREFIX)-strip
endif
ifeq ($(MACHINE),arm7)
ARCH=arm7
PREFIX=arm-linux-gnueabihf
CC=$(PREFIX)-gcc
AR=$(PREFIX)-ar
STRIP=$(PREFIX)-strip
endif
ifeq ($(MACHINE),win64)
ARCH=win64
TARGET=windows.exe
PREFIX=x86_64-w64-mingw32
CC=$(PREFIX)-gcc
AR=$(PREFIX)-ar
STRIP=$(PREFIX)-strip
CFLAGS+=-D_WINDOWS_
endif
ifeq ($(MACHINE),win32)
ARCH=win32
TARGET=windows.exe
PREFIX=i686-w64-mingw32
CC=$(PREFIX)-gcc
AR=$(PREFIX)-ar
STRIP=$(PREFIX)-strip
CFLAGS+=-D_WINDOWS_
endif
ifeq ($(MACHINE),cosmocc)
ARCH=multi
TARGET=cosmocc
PREFIX=cosmo
CC=$(COSMOCCDIR)/bin/$(PREFIX)cc
AR=$(COSMOCCDIR)/bin/$(PREFIX)ar
endif
PROGNAME=tinydns-$(ARCH)-$(TARGET)
.PHONY: all clean
all: clean $(PROGNAME)
$(PROGNAME): $(OBJ)
$(warning )
$(warning Compiling : $(PROGNAME) )
$(warning $(OBJ))
$(warning With CFLAGS : $(CFLAGS) )
$(warning With LDFLAGS: $(LDFLAGS) )
$(warning With ARCH : $(ARCH) )
$(warning With TARGET : $(TARGET) )
$(warning )
$(CC) -o $@ $^ $(CFLAGS)
ifneq ($(MACHINE),cosmocc)
$(STRIP) $(PROGNAME)
endif
clean:
rm -f *.o *~ core libgen/*.o
$(RM) -vf $(PROGNAME)