From a49106c7d0b722c6cd404102588c61d9c47798a3 Mon Sep 17 00:00:00 2001 From: Jeffrey Clark Date: Wed, 12 Mar 2014 15:41:47 -0500 Subject: [PATCH] move to a makefile in prep for binary releases --- .gitignore | 2 ++ Makefile | 36 ++++++++++++++++++++++++++++++++++++ build.sh | 34 ---------------------------------- 3 files changed, 38 insertions(+), 34 deletions(-) create mode 100644 Makefile delete mode 100755 build.sh diff --git a/.gitignore b/.gitignore index 0331bbb..1568d64 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,5 @@ *.exe *.out *.app + +dist diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0596392 --- /dev/null +++ b/Makefile @@ -0,0 +1,36 @@ +OPTS := -DDO_COUNT -DTEXT_REPLY -DREAD_FILE -DREAD_GIF -DNULLSERV_REPLIES -DSSL_RESP +TEST_OPTS := -DTEST -DVERBOSE +TINY_OPTS := -O3 -DTINY +DEBUG_OPT := -DHEX_DUMP +CC := gcc +CFLAGS += -Os -s -Wall -ffunction-sections -fdata-sections -fno-strict-aliasing +LDFLAGS += -Wl,--gc-sections +STRIP := strip -s -R .note -R .comment -R .gnu.version -R .gnu.version_r +CROSSCC := mipsel-uclibc-gcc +CROSSSTRIP:= mipsel-uclibc-$(STRIP) +SRC = pixelserv.c + +# mips uclib toolchain +export PATH := /opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin:$(PATH) + +all: dist mips tiny host32 host64 + @echo "Builds in dist folder." + +dist: + @mkdir dist + +mips: + $(CROSSCC) -mips32 $(CFLAGS) $(LDFLAGS) $(OPTS) $(SRC) -o dist/pixelserv.mips32 + $(CROSSSTRIP) dist/pixelserv.mips32 + +host32: + $(CC) -m32 $(CFLAGS) $(LDFLAGS) $(OPTS) $(SRC) -o dist/pixelserv.x86 + $(STRIP) dist/pixelserv.x86 + +host64: + $(CC) -m64 $(CFLAGS) $(LDFLAGS) $(OPTS) $(SRC) -o dist/pixelserv.amd64 + $(STRIP) dist/pixelserv.amd64 + +tiny: + $(CROSSCC) -mips32 $(CFLAGS) $(LDFLAGS) $(TINY_OPTS) $(SRC) -o dist/pixelserv.tiny.mips32 + $(CROSSSTRIP) dist/pixelserv.tiny.mips32 diff --git a/build.sh b/build.sh deleted file mode 100755 index c5604e0..0000000 --- a/build.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh - -SRC=pixelserv.c -OPTS="-DDO_COUNT -DTEXT_REPLY -DREAD_FILE -DREAD_GIF -DNULLSERV_REPLIES -DSSL_RESP" -#TEST_OPTS="-DTEST -DVERBOSE" # -DHEX_DUMP - -CC="gcc" # -m32" -CFLAGS="-Os -s -Wall -ffunction-sections -fdata-sections -fno-strict-aliasing" -LDFLAGS="-Wl,--gc-sections" -STRIP="strip -s -R .note -R .comment -R .gnu.version -R .gnu.version_r" -BIN=pixelserv.host -$CC $CFLAGS $OPTS $TEST_OPTS $SRC -o $BIN -#$STRIP $BIN -ls -laF $BIN - -# use Linksys Tomato toolchain (or teddy_bear tomatousb K26, Tornado dd-wrt) -export PATH=/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin:$PATH -CC="mipsel-uclibc-gcc -mips32" -STRIP="mipsel-uclibc-$STRIP" - -#tomato -# -DIF_MODE "-i br0" responsible for failures when gui changes made -# -DVERBOSE" -BIN=pixelserv -$CC $CFLAGS $LDFLAGS $OPTS $TEST_OPTS $SRC -o $BIN -$STRIP $BIN -ls -laF $BIN - -OPTS="-O3 -DTINY" -BIN=pixelserv.tiny -$CC $CFLAGS $LDFLAGS $OPTS $SRC -o $BIN -$STRIP $BIN -ls -laF $BIN -