Waitrud Weber’s blog

things and reminders for memories

3d: windows-make: Very thanks to GNU.

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 :