X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=scripts%2Fmakefile.emcc;fp=scripts%2Fmakefile.gcc-asan;h=5d27621c07087349c333fa15ad21d7e71e96008d;hb=f125affdc66153880ba8dc33d8369e5a0dc9a6a7;hp=aae55d6380d7581908e714aa4a5177887ba0b34c;hpb=fa7e0fcd15b99f3b778e018992da36a5703fc6a3;p=platform%2Fupstream%2Flibpng.git diff --git a/scripts/makefile.gcc-asan b/scripts/makefile.emcc similarity index 68% rename from scripts/makefile.gcc-asan rename to scripts/makefile.emcc index aae55d6..5d27621 100644 --- a/scripts/makefile.gcc-asan +++ b/scripts/makefile.emcc @@ -1,6 +1,7 @@ -# makefile for libpng using gcc + address sanitizer (generic, static library) +# makefile for libpng using emscripten +# Copyright (C) 2000, 2014, 2019-2022 Cosmin Truta +# Copyright (C) 2021 Kirk Roerig # Copyright (C) 2008, 2014 Glenn Randers-Pehrson -# Copyright (C) 2000, 2014, 2019 Cosmin Truta # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc. # # This code is released under the libpng license. @@ -12,32 +13,27 @@ ZLIBINC = ../zlib ZLIBLIB = ../zlib # Compiler, linker, lib and other tools -CC = gcc +CC = emcc LD = $(CC) -AR_RC = ar rcs -RANLIB = ranlib +AR_RC = emar rcs +RANLIB = emranlib CP = cp RM_F = rm -f -WARNMORE = -Wwrite-strings -Wpointer-arith -Wshadow \ - -Wmissing-declarations -Wtraditional -Wcast-align \ - -Wstrict-prototypes -Wmissing-prototypes # -Wconversion CPPFLAGS = -I$(ZLIBINC) # -DPNG_DEBUG=5 -CFLAGS = -W -Wall -O0 -g -fsanitize=address -LDFLAGS = -L$(ZLIBLIB) -g -fsanitize=address +CFLAGS = -O2 -Wall -Wextra -Wundef +LDFLAGS = -L$(ZLIBLIB) +PNGTEST_LDFLAGS = --preload-file=pngtest.png LIBS = -lz -lm -# File extensions -EXEEXT = - # Pre-built configuration # See scripts/pnglibconf.mak for more options PNGLIBCONF_H_PREBUILT = scripts/pnglibconf.h.prebuilt -# Variables -OBJS = png.o pngerror.o pngget.o pngmem.o pngpread.o \ - pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o \ - pngtrans.o pngwio.o pngwrite.o pngwtran.o pngwutil.o +# File lists +OBJS = png.o pngerror.o pngget.o pngmem.o pngpread.o \ + pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o \ + pngtrans.o pngwio.o pngwrite.o pngwtran.o pngwutil.o # Targets all: static @@ -48,25 +44,25 @@ pnglibconf.h: $(PNGLIBCONF_H_PREBUILT) .c.o: $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< -static: libpng.a pngtest$(EXEEXT) +static: libpng.a pngtest shared: - @echo This is a generic makefile that cannot create shared libraries. - @echo Please use a configuration that is specific to your platform. + @echo This makefile cannot create shared libraries. @false libpng.a: $(OBJS) $(AR_RC) $@ $(OBJS) $(RANLIB) $@ -test: pngtest$(EXEEXT) - ./pngtest$(EXEEXT) +test: pngtest + node ./pngtest -pngtest$(EXEEXT): pngtest.o libpng.a - $(LD) $(LDFLAGS) -o $@ pngtest.o libpng.a $(LIBS) +pngtest: pngtest.o libpng.a + $(LD) $(LDFLAGS) $(PNGTEST_LDFLAGS) -o $@ pngtest.o libpng.a $(LIBS) clean: - $(RM_F) *.o libpng.a pngtest$(EXEEXT) pngout.png pnglibconf.h + $(RM_F) *.o libpng.a pngtest pngout.png pnglibconf.h + $(RM_F) pngtest.data pngtest.wasm png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h