Very thanks to Mingw and GNU source code: Copyright (C) 1991-1997, Thomas G. Lane.
We could change source files and compiled them on the windows os by use of mingw even if I just put the simple messages.
That is what we can understand from source code,
> c:\aaa\bin\make.exe all
gcc -o cjpeg.o -c cjpeg.c
gcc -o rdppm.o -c rdppm.c
gcc -o rdgif.o -c rdgif.c
gcc -o rdtarga.o -c rdtarga.c
gcc -o rdrle.o -c rdrle.c
gcc -o rdbmp.o -c rdbmp.c
gcc -o rdswitch.o -c rdswitch.c
gcc -o cdjpeg.o -c cdjpeg.c
gcc -o jaricom.o -c jaricom.c
gcc -o jcapimin.o -c jcapimin.c
gcc -o jcapistd.o -c jcapistd.c
gcc -o jcarith.o -c jcarith.c
gcc -o jccoefct.o -c jccoefct.c
gcc -o jccolor.o -c jccolor.c
gcc -o jcdctmgr.o -c jcdctmgr.c
gcc -o jchuff.o -c jchuff.c
gcc -o jcinit.o -c jcinit.c
gcc -o jcmainct.o -c jcmainct.c
gcc -o jcmarker.o -c jcmarker.c
gcc -o jcmaster.o -c jcmaster.c
gcc -o jcomapi.o -c jcomapi.c
gcc -o jcparam.o -c jcparam.c
gcc -o jcprepct.o -c jcprepct.c
gcc -o jcsample.o -c jcsample.c
gcc -o jctrans.o -c jctrans.c
gcc -o jdapimin.o -c jdapimin.c
gcc -o jdapistd.o -c jdapistd.c
gcc -o jdarith.o -c jdarith.c
gcc -o jdatadst.o -c jdatadst.c
gcc -o jdatasrc.o -c jdatasrc.c
gcc -o jdcoefct.o -c jdcoefct.c
gcc -o jdcolor.o -c jdcolor.c
gcc -o jddctmgr.o -c jddctmgr.c
gcc -o jdhuff.o -c jdhuff.c
gcc -o jdinput.o -c jdinput.c
gcc -o jdmainct.o -c jdmainct.c
gcc -o jdmarker.o -c jdmarker.c
gcc -o jdmaster.o -c jdmaster.c
gcc -o jdmerge.o -c jdmerge.c
gcc -o jdpostct.o -c jdpostct.c
gcc -o jdsample.o -c jdsample.c
gcc -o jdtrans.o -c jdtrans.c
gcc -o jerror.o -c jerror.c
gcc -o jfdctflt.o -c jfdctflt.c
gcc -o jfdctfst.o -c jfdctfst.c
gcc -o jfdctint.o -c jfdctint.c
gcc -o jidctflt.o -c jidctflt.c
gcc -o jidctfst.o -c jidctfst.c
gcc -o jidctint.o -c jidctint.c
gcc -o jquant1.o -c jquant1.c
gcc -o jquant2.o -c jquant2.c
gcc -o jutils.o -c jutils.c
gcc -o jmemmgr.o -c jmemmgr.c
gcc -o jmemnobs.o -c jmemnobs.c
ar rc libjpeg.a jaricom.o jcapimin.o jcapistd.o jcarith.o jccoefct.o jccolor.o jcdctmgr.o jchuff.o jcinit.o jcmainct.o
jcmarker.o jcmaster.o jcomapi.o jcparam.o jcprepct.o jcsample.o jctrans.o jdapimin.o jdapistd.o jdarith.o jdatadst.o jda
tasrc.o jdcoefct.o jdcolor.o jddctmgr.o jdhuff.o jdinput.o jdmainct.o jdmarker.o jdmaster.o jdmerge.o jdpostct.o jdsampl
e.o jdtrans.o jerror.o jfdctflt.o jfdctfst.o jfdctint.o jidctflt.o jidctfst.o jidctint.o jquant1.o jquant2.o jutils.o jm
emmgr.o jmemnobs.o
ranlib libjpeg.a
gcc cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o cdjpeg.o libjpeg.a -Wall -O3 -I C:\MinGW\include\ -L C:
\MinGW\lib -l gdi32 -lws2_32 -lwsock32 -o cjpeg_001.exe
> .\cjpeg_001.exe -outfile .\testimg.jpg .\testimg.ppm
Specify data destination for compression starts.
Specify data destination for compression ends.
Makefile Sat Apr 03 13:23:19 2021 1 :#SRC=cjpeg.c 2 :#SRC=cjpeg.c rdppm.c rdgif.c rdtarga.c rdrle.c rdbmp.c rdswitch.c cdjpeg.c jcparam.c jerror.c jcapimin.c jdatadst.c jcapistd.c jmemmgr.c 3 :LIBSRC = jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ 4 : jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ 5 : jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ 6 : jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ 7 : jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ 8 : jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ 9 : jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ 10 : jquant2.c jutils.c jmemmgr.c jmemnobs.c 11 :SRC=cjpeg.c rdppm.c rdgif.c rdtarga.c rdrle.c rdbmp.c rdswitch.c cdjpeg.c 12 :OBJS=$(SRC:.c=.o) 13 :LIBOBJS=$(LIBSRC:.c=.o) 14 : 15 :PROG=cjpeg_001.exe 16 :CC=gcc 17 :#CC=g++ 18 :#CC=c++ 19 :#CC=mingw32-g++ 20 :#CC=mingw32-g++ 21 :# library (.a) file creation command 22 :AR= ar rc 23 :# second step in .a creation (use "touch" if not needed) 24 :AR2= ranlib 25 :CFLAGS=-Wall -O3 26 :LDFLAGS=-Wall -O3 -I C:\MinGW\include\ -L C:\MinGW\lib -l gdi32 -mwindows 27 :LDFLAGS_WIN=-Wall -O3 -I C:\MinGW\include\ -L C:\MinGW\lib -lgdi32 -lws2_32 -lwsock32 -mwindows 28 :LDFLAGS_CCODEC=-Wall -O3 -I C:\MinGW\include\ -L C:\MinGW\lib -l gdi32 -lws2_32 -lwsock32 29 : 30 :#RM=rm 31 :RM=del 32 : 33 :%.o: %.c 34 : $(CC) $(CDFLAGS) -o $@ -c $< 35 :# $(CC) $(LDFLAGS_WIN) -o $@ -c $< 36 : 37 : 38 :.PHONY : all 39 :all: $(PROG) 40 : 41 :$(PROG): $(OBJS) libjpeg.a 42 : $(CC) $(OBJS) libjpeg.a $(LDFLAGS_CCODEC) -o $@ 43 :# $(CC) $(OBJS) $(LDFLAGS) -o $@ 44 : 45 :#libjpeg.a: $(LIBOBJS) 46 :# $(CC) $(LDFLAGS) $(LIBOBJS) -o libjpeg.a 47 : 48 :libjpeg.a: $(LIBOBJS) 49 : $(AR) libjpeg.a $(LIBOBJS) 50 : $(AR2) libjpeg.a 51 : 52 :.PHONY : clean 53 :clean: 54 : $(RM) $(OBJS) 55 : $(RM) $(LIBOBJS) 56 : $(RM) libjpeg.a 57 : $(RM) $(PROG) 58 :