# Makefile to build the GIMP plug-ins with Microsoft nmake and compiler # I don't want to use many hand-written makefiles, so this is quite complex. # This same makefile is also included by sub-makes called as subroutines. # Various parts of this file are used when makeing from the plug-ins directory, # and when building individual plug-ins and the three plug-in libraries. INSTALL = copy # This is what I use as installation target, from where the installer-builder # will pick it up. GIMP = C:\install\gimp BIN = $(GIMP)\plug-ins !IFNDEF GIMPTOP GIMPTOP = .. !ENDIF TOP = ..\$(GIMPTOP) !INCLUDE $(TOP)\glib\build\win32\make.msc !INCLUDE $(GIMPTOP)\gimpdefs.msc !IFNDEF LIBRARY !IFNDEF PLUGIN !IFNDEF MODULE # This part is used when making from the plug-ins directory FROMPLUGINSDIR=YES # Used to bypass other parts below # List plug-ins. We must use several lists to work around nmake's limits # The COMMON* ones are in the common subdirectory COMMON0 = alien-map align-layers animation-optimize animation-play antialias apply-canvas COMMON1 = blinds blur-gauss-selective blur-gauss blur-motion blur border-average bump-map COMMON2 = cartoon channel-mixer checkerboard cml-explorer color-cube-analyze color-enhance color-exchange color-to-alpha colorify colormap-remap compose contrast-normalize contrast-retinex contrast-stretch-hsv contrast-stretch convolution-matrix crop-auto crop-zealous cubism curve-bend COMMON3 = decompose deinterlace depth-merge despeckle destripe diffraction displace edge-dog edge-laplace edge-neon edge-sobel edge emboss engrave ## file-aa file-mng file-pdf file-wmf file-xpm COMMON4 = file-cel file-compressor file-csource file-desktop-link file-dicom file-gbr file-gif-load file-gif-save file-gih file-glob file-header file-html-table file-pat file-pcx file-pix file-png file-pnm file-ps file-psp file-raw file-sunras file-svg file-tga file-tiff-load file-tiff-save file-xbm file-xwd film filter-pack fractal-trace ## mail COMMON5 = gee-zoom gee gradient-map grid guillotine hot illusion iwarp jigsaw lcms lens-apply lens-distortion lens-flare max-rgb mosaic newsprint nl-filter noise-hsv noise-randomize noise-rgb noise-solid noise-spread nova oilify photocopy pixelize plasma plugin-browser polar-coords procedure-browser qbist red-eye-removal ripple rotate COMMON6 = sample-colorize screenshot semi-flatten sharpen shift sinus smooth-palette softglow sparkle sphere-designer COMMON7 = threshold-alpha tile-glass tile-paper tile-seamless tile-small tile unit-editor unsharp-mask value-invert value-propagate van-gogh-lic video warp waves web-browser whirl-pinch wind # These have own subdirectories each SEPARATE = lighting gfig gimpressionist imagemap maze metadata pagecurl twain print help ## help-browser SEPARATE_DASH = color-rotate file-bmp file-faxg3 file-fits file-fli file-ico file-jpeg file-psd file-sgi file-uri file-xjt fractal-explorer gradient-flare ifs-compose map-object selection-to-path win-snap # These are unofficial, ie not in the CVS. To build these, you should # get tml's source snapshot and copy this makefile to the # ..\unofficial-plug-ins directory, go there, and do "nmake -f makefile.msc unofficial". UNOFFICIAL = Anamorphose DigitalSignature RGB_Displace gimp_ace guash sel_gauss magiceye user_filter # The main target all : ..\config.h libs-all common-plugins-all separate-plugins-all ..\config.h : ..\config.h.win32 copy ..\config.h.win32 ..\config.h install : libs-install common-plugins-install separate-plugins-install data-install unofficial: for %d in ($(UNOFFICIAL)) do nmake -nologo -f makefile.msc sub-one-separate DIR=%d TARGET=install clean :: libs-clean common-plugins-clean separate-plugins-clean libs-all : @nmake -nologo -f makefile.msc sub-libs TARGET=all libs-install : @nmake -nologo -f makefile.msc sub-libs TARGET=install libs-clean : @nmake -nologo -f makefile.msc sub-libs TARGET=clean sub-libs: cd script-fu\tinyscheme nmake -nologo -f ..\..\makefile.msc GIMPTOP=..\..\.. EXTRACFLAGS="-DWIN32 -DUSE_MATH -DUSE_INTERFACE -DSTANDALONE=0" \ MODULE=tinyscheme OBJECTS="dynload.obj scheme.obj" $(TARGET) cd ..\.. cd script-fu\ftx nmake -nologo -f ..\..\makefile.msc GIMPTOP=..\..\.. EXTRACFLAGS="-DWIN32 -I.. -DUSE_INTERFACE" \ MODULE=ftx OBJECTS="ftx.obj" EXTRA_EXPORT=/export:init_ftx $(TARGET) cd ..\.. common-plugins-all : @nmake -nologo -f makefile.msc sub-common-plugins TARGET=all common-plugins-install : @nmake -nologo -f makefile.msc sub-common-plugins TARGET=install common-plugins-clean : @nmake -nologo -f makefile.msc sub-one-common TARGET=clean sub-common-plugins : for %d in ($(COMMON0)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) for %d in ($(COMMON1)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) for %d in ($(COMMON2)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) for %d in ($(COMMON3)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) for %d in ($(COMMON4)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) for %d in ($(COMMON5)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) for %d in ($(COMMON6)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) for %d in ($(COMMON7)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) sub-one-common : @cd common @nmake -nologo -f ..\makefile.msc GIMPTOP=..\.. PLUGIN=$(DIR) $(TARGET) separate-plugins-all : @nmake -nologo -f makefile.msc sub-separate-plugins TARGET=all separate-plugins-install : @nmake -nologo -f makefile.msc sub-separate-plugins TARGET=install separate-plugins-clean : @nmake -nologo -f makefile.msc sub-separate-plugins TARGET=clean sub-separate-plugins : for %d in ($(SEPARATE)) do nmake -nologo -f makefile.msc sub-one-separate DIR=%d TARGET=$(TARGET) for %d in ($(SEPARATE_DASH)) do nmake -nologo -f makefile.msc sub-one-separate-dash DIR=%d TARGET=$(TARGET) sub-one-separate : cd $(DIR) nmake -nologo -f ..\makefile.msc GIMPTOP=..\.. PLUGIN=$(DIR) EXTRA_$(DIR)=1 $(TARGET) sub-one-separate-dash : cd $(DIR) nmake -nologo -f ..\makefile.msc GIMPTOP=..\.. PLUGIN=$(DIR) $(TARGET) data-install : gimpressionist-data-install guash-data-install -md $(GIMP)\scripts $(INSTALL) script-fu\scripts\*.scm $(GIMP)\scripts $(INSTALL) script-fu\scripts\*.jpg $(GIMP)\scripts $(INSTALL) FractalExplorer\fractalexplorer-examples\* $(GIMP)\fractalexplorer del $(GIMP)\fractalexplorer\Makefile.am gimpressionist-data-install : -md $(GIMP)\gimpressionist -md $(GIMP)\gimpressionist\Brushes -md $(GIMP)\gimpressionist\Paper -md $(GIMP)\gimpressionist\Presets $(INSTALL) gimpressionist\Brushes\*.pgm $(GIMP)\gimpressionist\Brushes $(INSTALL) gimpressionist\Brushes\*.ppm $(GIMP)\gimpressionist\Brushes $(INSTALL) gimpressionist\Paper\*.pgm $(GIMP)\gimpressionist\Paper $(INSTALL) gimpressionist\Presets\* $(GIMP)\gimpressionist\Presets del $(GIMP)\gimpressionist\Presets\Makefile.am guash-data-install : !ENDIF !ENDIF !ENDIF !IFNDEF FROMPLUGINSDIR # This part is used when building individual plug-ins or one of # the libraries. # If a plug-in has several object files, or needs extra libraries or # compiler flags, these are in an EXTRA_xxx part. !IF "$(DIR)"=="color-rotate" STOCK_IMAGES = \ images/color-rotate-360.png \ images/color-rotate-a-b.png \ images/color-rotate-ccw.png \ images/color-rotate-cw.png \ STOCK_VARS = \ color_rotate_360 images/color-rotate-360.png \ color_rotate_a_b images/color-rotate-a-b.png \ color_rotate_ccw images/color-rotate-ccw.png \ color_rotate_cw images/color-rotate-cw.png \ images/color-rotate-stock-pixbufs.h: $(STOCK_IMAGES) gdk-pixbuf-csource --rle --build-list $(STOCK_VARS) > images/color-rotate-stock-pixbufs.h EXTRA_DEPS = images/color-rotate-stock-pixbufs.h OBJECTS = \ color-rotate-callbacks.obj \ color-rotate-dialog.obj \ color-rotate-draw.obj \ color-rotate-stock.obj \ color-rotate-utils.obj \ color-rotate.obj \ !ENDIF !IF "$(DIR)"=="fractal-explorer" OBJECTS = \ fractal-explorer-dialogs.obj \ fractal-explorer.obj !ENDIF !IFDEF EXTRA_lighting STOCK_VARS = \ stock_intensity_ambient_high images/stock-intensity-ambient-high.png \ stock_intensity_ambient_low images/stock-intensity-ambient-low.png \ stock_intensity_diffuse_high images/stock-intensity-diffuse-high.png \ stock_intensity_diffuse_low images/stock-intensity-diffuse-low.png \ stock_reflectivity_diffuse_high images/stock-reflectivity-diffuse-high.png \ stock_reflectivity_diffuse_low images/stock-reflectivity-diffuse-low.png \ stock_reflectivity_specular_high images/stock-reflectivity-specular-high.png \ stock_reflectivity_specular_low images/stock-reflectivity-specular-low.png \ stock_reflectivity_highlight_high images/stock-reflectivity-highlight-high.png \ stock_reflectivity_highlight_low images/stock-reflectivity-highlight-low.png STOCK_IMAGES = \ images/stock-intensity-ambient-high.png \ images/stock-intensity-ambient-low.png \ images/stock-intensity-diffuse-high.png \ images/stock-intensity-diffuse-low.png \ images/stock-reflectivity-diffuse-high.png \ images/stock-reflectivity-diffuse-low.png \ images/stock-reflectivity-specular-high.png \ images/stock-reflectivity-specular-low.png \ images/stock-reflectivity-highlight-high.png \ images/stock-reflectivity-highlight-low.png images/stock-pixbufs.h: $(STOCK_IMAGES) gdk-pixbuf-csource --rle --build-list $(STOCK_VARS) > images/stock-pixbufs.h EXTRA_DEPS = images/stock-pixbufs.h OBJECTS = \ lighting-apply.obj \ lighting-image.obj \ lighting-main.obj \ lighting-preview.obj \ lighting-shade.obj \ lighting-stock.obj \ lighting-ui.obj !ENDIF !IF "$(DIR)"=="map-object" OBJECTS = \ arcball.obj \ map-object-apply.obj \ map-object-image.obj \ map-object-main.obj \ map-object-preview.obj \ map-object-shade.obj \ map-object-ui.obj OPTIMIZE = !ENDIF !IF "$(DIR)"=="file-bmp" OBJECTS = \ bmp.obj \ bmp-read.obj \ bmp-write.obj !ENDIF !IFDEF EXTRA_plugindetails OBJECTS = \ gimpprocbox.obj \ gimpprocbrowser.obj \ gimpprocview.obj \ plugin-browser.obj !ENDIF !IF "$(DIR)"=="file-faxg3" OBJECTS = \ faxg3.obj \ g3.obj !ENDIF !IF "$(DIR)"=="file-fits" OBJECTS = \ fits.obj \ fits-io.obj !ENDIF !IFDEF EXTRA_flame OBJECTS = \ cmap.obj \ flame.obj \ libifs.obj \ rect.obj !ENDIF !IF "$(DIR)"=="file-fli" OBJECTS = \ fli.obj \ fli-gimp.obj !ENDIF !IFDEF EXTRA_gfig STOCK_VARS = \ stock_bezier images/stock-bezier.png \ stock_circle images/stock-circle.png \ stock_copy_object images/stock-copy-object.png \ stock_curve images/stock-curve.png \ stock_delete_object images/stock-delete-object.png \ stock_ellipse images/stock-ellipse.png \ stock_line images/stock-line.png \ stock_move_object images/stock-move-object.png \ stock_move_point images/stock-move-point.png \ stock_polygon images/stock-polygon.png \ stock_rectangle images/stock-rectangle.png \ stock_spiral images/stock-spiral.png \ stock_star images/stock-star.png \ stock_select_object images/stock-select-object.png \ stock_show_all images/stock-show-all.png STOCK_IMAGES = \ images/stock-bezier.png \ images/stock-circle.png \ images/stock-copy-object.png \ images/stock-curve.png \ images/stock-delete-object.png \ images/stock-ellipse.png \ images/stock-line.png \ images/stock-move-object.png \ images/stock-move-point.png \ images/stock-polygon.png \ images/stock-spiral.png \ images/stock-star.png \ images/stock-logo.png images/gfig-stock-pixbufs.h: $(STOCK_IMAGES) gdk-pixbuf-csource --rle --build-list $(STOCK_VARS) > images/gfig-stock-pixbufs.h EXTRA_DEPS = images/gfig-stock-pixbufs.h OBJECTS = \ gfig.obj \ gfig-arc.obj \ gfig-bezier.obj \ gfig-circle.obj \ gfig-dialog.obj \ gfig-dobject.obj \ gfig-ellipse.obj \ gfig-grid.obj \ gfig-line.obj \ gfig-poly.obj \ gfig-preview.obj \ gfig-rectangle.obj \ gfig-spiral.obj \ gfig-star.obj \ gfig-style.obj \ gfig-stock.obj !ENDIF !IF "$(DIR)"=="ifs-compose" OBJECTS = \ ifs-compose.obj \ ifs-compose-storage.obj \ ifs-compose-utils.obj !ENDIF !IFDEF EXTRA_imagemap STOCK_VARS = \ stock_circle images/stock-circle.png \ stock_coord images/stock-coord.png \ stock_dimension images/stock-dimension.png \ stock_java images/stock-java.png \ stock_polygon images/stock-polygon.png \ stock_rectangle images/stock-rectangle.png \ stock_to_back images/stock-to-back.png \ stock_to_front images/stock-to-front.png \ STOCK_IMAGES = \ images/stock-circle.png \ images/stock-coord.png \ images/stock-dimension.png \ images/stock-java.png \ images/stock-polygon.png \ images/stock-rectangle.png \ images/stock-to-back.png \ images/stock-to-front.png \ images/imap-stock-pixbufs.h: $(STOCK_IMAGES) gdk-pixbuf-csource --rle --build-list $(STOCK_VARS) > images/imap-stock-pixbufs.h EXTRA_DEPS = images/imap-stock-pixbufs.h OBJECTS = \ imap_cmd_copy_object.obj \ imap_about.obj \ imap_browse.obj \ imap_cern_lex.obj \ imap_cern_parse.obj \ imap_circle.obj \ imap_cmd_clear.obj \ imap_cmd_copy.obj \ imap_cmd_create.obj \ imap_cmd_cut.obj \ imap_cmd_cut_object.obj \ imap_cmd_delete.obj \ imap_cmd_delete_point.obj \ imap_cmd_edit_object.obj \ imap_cmd_gimp_guides.obj \ imap_cmd_guides.obj \ imap_cmd_insert_point.obj \ imap_cmd_move.obj \ imap_cmd_move_down.obj \ imap_cmd_move_sash.obj \ imap_cmd_move_selected.obj \ imap_cmd_move_to_front.obj \ imap_cmd_move_up.obj \ imap_cmd_object_down.obj \ imap_cmd_object_move.obj \ imap_cmd_object_up.obj \ imap_cmd_paste.obj \ imap_cmd_select.obj \ imap_cmd_select_all.obj \ imap_cmd_select_next.obj \ imap_cmd_select_prev.obj \ imap_cmd_select_region.obj \ imap_cmd_send_to_back.obj \ imap_cmd_unselect.obj \ imap_cmd_unselect_all.obj \ imap_command.obj \ imap_csim_lex.obj \ imap_csim_parse.obj \ imap_default_dialog.obj \ imap_edit_area_info.obj \ imap_file.obj \ imap_grid.obj \ imap_main.obj \ imap_menu.obj \ imap_menu_funcs.obj \ imap_misc.obj \ imap_mru.obj \ imap_ncsa_lex.obj \ imap_ncsa_parse.obj \ imap_object.obj \ imap_object_popup.obj \ imap_polygon.obj \ imap_preferences.obj \ imap_preview.obj \ imap_rectangle.obj \ imap_selection.obj \ imap_settings.obj \ imap_source.obj \ imap_statusbar.obj \ imap_stock.obj \ imap_string.obj \ imap_table.obj \ imap_taglist.obj # not changing the source which is lexed EXTRACFLAGS = -FIstring.h -FIstdlib.h -DYY_NO_UNISTD_H !ENDIF !IFDEF EXTRA_iwarp OPTIMIZE = !ENDIF !IF "$(DIR)"=="file-ico" EXTRACFLAGS = $(PNG_CFLAGS) EXTRALIBS = $(PNG_LIBS) OBJECTS = \ ico-dialog.obj \ ico-load.obj \ ico-save.obj \ ico.obj !ENDIF !IF "$(DIR)"=="file-jpeg" EXTRACFLAGS = -I$(JPEG) \ !IFDEF EXIF $(EXIF_CFLAGS) -DHAVE_EXIF -DHAVE_EXIF_0_6 !ENDIF EXTRALIBS = \ $(JPEG)\libjpeg.lib \ !IFDEF EXIF $(EXIF_LIBS) !ENDIF OBJECTS = \ jpeg.obj \ jpeg-exif.obj \ jpeg-icc.obj \ jpeg-load.obj \ jpeg-quality.obj \ jpeg-save.obj \ jpeg-settings.obj \ !IFDEF EXIF gimpexif.obj !ENDIF !ENDIF !IF "$(DIR)"=="file-uri" OBJECTS = \ gimpmountoperation.obj \ # uri-backend-gnomevfs.obj \ uri-backend-gvfs.obj \ # uri-backend-libcurl.obj \ # uri-backend-wget.obj \ uri.obj !ENDIF !IF "$(DIR)"=="lcms" EXTRACFLAGS = $(LCMS_CFLAGS) EXTRALIBS = $(LCMS_LIBS) !ENDIF !IFDEF EXTRA_maze OBJECTS = \ maze-algorithms.obj \ maze-dialog.obj \ maze-utils.obj \ maze.obj \ !ENDIF !IFDEF EXTRA_mpeg EXTRACFLAGS = -I$(MPEG) EXTRALIBS = $(MPEG)\release\libmpeg.lib !ENDIF !IFDEF EXTRA_metadata OBJECTS = \ base64.obj \ interface.obj \ metadata.obj \ xmp-encode.obj \ xmp-model.obj \ xmp-parse.obj \ xmp-schemas.obj !ENDIF !IFDEF EXTRA_pagecurl STOCK_VARS = \ curl0 curl0.png \ curl1 curl1.png \ curl2 curl2.png \ curl3 curl3.png \ curl4 curl4.png \ curl5 curl5.png \ curl6 curl6.png \ curl7 curl7.png \ STOCK_IMAGES = \ curl0.png \ curl1.png \ curl2.png \ curl3.png \ curl4.png \ curl5.png \ curl6.png \ curl7.png \ pagecurl-icons.h: $(STOCK_IMAGES) gdk-pixbuf-csource --rle --build-list $(STOCK_VARS) > pagecurl-icons.h EXTRA_DEPS = pagecurl-icons.h !ENDIF !IF "$(DIR)"=="file-png" EXTRACFLAGS = $(PNG_CFLAGS) EXTRALIBS = $(PNG_LIBS) !ENDIF !IFDEF EXTRA_print OBJECTS = \ print.obj \ print-draw-page.obj \ print-page-layout.obj \ print-preview.obj \ print-settings.obj \ print-page-setup.obj \ print-utils.obj \ EXTRALIBS = $(CAIRO_LIBS) $(GTHREAD_LIBS) !ENDIF !IF "$(DIR)"=="file-psp" EXTRACFLAGS = $(ZLIB_CFLAGS) EXTRALIBS = $(ZLIB_LIBS) !ENDIF !IF "$(DIR)"=="file-psd" EXTRACFLAGS = $(TIFF_CFLAGS) $(JPEG_CFLAGS) EXTRALIBS = $(TIFF_LIBS) $(JPEG)\libjpeg.lib $(ZLIB_LIBS) user32.lib OBJECTS = \ psd-image-res-load.obj \ psd-layer-res-load.obj \ psd-load.obj \ #2nd! psd-save.obj \ psd-thumb-load.obj \ psd-util.obj \ psd.obj !ENDIF !IF "$(DIR)"=="screenshot" EXTRALIBS = user32.lib !ENDIF !IF "$(DIR)"=="script-fu" OBJECTS = \ scheme-wrapper.obj \ script-fu.obj \ script-fu-console.obj \ script-fu-scripts.obj \ script-fu-text-console.obj \ script-fu-interface.obj \ script-fu-server.obj \ script-fu-eval.obj \ script-fu-regex.obj \ script-fu-script.obj \ script-fu-utils.obj \ EXTRALIBS = tinyscheme\tinyscheme.lib ftx\ftx.lib kernel32.lib wsock32.lib EXTRACFLAGS = -DREGEX_MALLOC -DUSE_INTERFACE -DSTANDALONE=0 #HAVE_RESOURCE = YES !ENDIF !IF "$(DIR)"=="selection-to-path" OBJECTS = \ curve.obj \ edge.obj \ fit.obj \ math.obj \ pxl-outline.obj \ spline.obj \ selection-to-path-dialog.obj \ selection-to-path.obj \ spline.obj \ vector.obj \ !ENDIF !IF "$(DIR)"=="file-sgi" OBJECTS = \ sgi.obj \ sgi-lib.obj !ENDIF !IF "$(DIR)"=="file-svg" EXTRACFLAGS = $(RSVG_CFLAGS) EXTRALIBS = $(RSVG_LIBS) !ENDIF !IF "$(DIR)"=="file-tiff-load" || "$(DIR)"=="file-tiff-save" EXTRACFLAGS = $(TIFF_CFLAGS) EXTRALIBS = $(TIFF_LIBS) $(JPEG)\libjpeg.lib $(ZLIB_LIBS) user32.lib !ENDIF !IFDEF EXTRA_gimp_ace EXTRACFLAGS = -DGLACE_GIMP OBJECTS = \ gimp_ace.obj \ glace.obj \ glaceG.obj !ENDIF !IFDEF EXTRA_gimpressionist EXTRALIBS = $(GTK2_LIBS) OBJECTS = \ brush.obj \ color.obj \ general.obj \ gimp.obj \ gimpressionist.obj \ globals.obj \ orientation.obj \ orientmap.obj \ paper.obj \ placement.obj \ plasma.obj \ ppmtool.obj \ presets.obj \ preview.obj \ repaint.obj \ size.obj \ sizemap.obj \ utils.obj !ENDIF !IFDEF EXTRA_help OBJECTS = \ gimphelp.obj \ gimphelpdomain.obj \ gimphelpitem.obj \ gimphelplocale.obj \ gimphelpprogress.obj \ help.obj \ TEST_OBJECTS = \ gimp-help-lookup.obj !ENDIF !IFDEF EXTRA_helpbrowser OBJECTS = \ gimpthrobber.obj \ gimpthrobberaction.obj \ helpbrowser.obj \ dialog.obj \ queue.obj \ uri.obj EXTRACFLAGS = $(GTKHTML2_CFLAGS) EXTRALIBS = $(GTKHTML2_LIBS) user32.lib shell32.lib dialog.c : logo-pixbuf.h logo-pixbuf.h: wilber-reading.png gdk-pixbuf-csource --raw --name=logo_data wilber-reading.png > logo-pixbuf.h !ENDIF !IFDEF EXTRA_guash HAVE_RESOURCE = YES !ENDIF !IFDEF EXTRA_magiceye OBJECTS = \ dialog.obj \ magiceye.obj !ENDIF !IFDEF EXTRA_user_filter uf_lexer.c : uf_lexer.l flex -Cem -ouf_lexer.c uf_lexer.l uf_parser.tab.c: uf_parser.y bison --defines --verbose uf_parser.y OBJECTS = \ libyywrap.obj \ uf_eval.obj \ uf_file.obj \ uf_gui.obj \ uf_lexer.obj \ uf_main.obj \ uf_parser.tab.obj !ENDIF !IFDEF EXTRA_pmosaic EXTRACFLAGS = -I$(JPEG) EXTRALIBS = $(JPEG)\libjpeg.lib OBJECTS = \ pmosaic.obj \ pmsc.obj !ENDIF !IFDEF EXTRA_twain OBJECTS = \ tw_func.obj \ tw_util.obj \ !IFDEF DEBUG tw_dump.obj \ !ENDIF tw_win.obj \ twain.obj EXTRALIBS = user32.lib !ENDIF !IF "$(DIR)"=="web-browser" EXTRALIBS = shell32.lib user32.lib !ENDIF !IFDEF EXTRA_winprint EXTRALIBS = user32.lib gdi32.lib comdlg32.lib !ENDIF !IFDEF EXTRA_winclipboard EXTRALIBS = user32.lib !ENDIF !IFDEF EXTRA_winicon EXTRACFLAGS = $(PNG_CFLAGS) EXTRALIBS = $(PNG_LIBS) OBJECTS = \ icodialog.obj \ icoload.obj \ icosave.obj \ main.obj !ENDIF !IF "$(DIR)"=="win-snap" OBJECTS = winsnap.obj #HAVE_RESOURCE = YES RESOURCE = winsnap.res EXTRALIBS = user32.lib gdi32.lib !ENDIF !IF "$(DIR)"=="file-xjt" OBJECTS = \ xjt.obj \ xjpeg.obj EXTRACFLAGS = $(JPEG_CFLAGS) EXTRALIBS = $(JPEG_LIBS) !ENDIF PLUGINDIR = $(GIMPTOP)\plug-ins !IFNDEF OPTIMIZE !IFNDEF DEBUG OPTIMIZE = -Ox !ELSE OPTIMIZE = -Zi !ENDIF !ENDIF !IFNDEF DEBUG LINKDEBUG = RTL = -MD !ELSE LINKDEBUG = /debug RTL = -MDd !ENDIF CC = cl -nologo -GF $(OPTIMIZE) $(RTL) -W2 -Zm400 CFLAGS = -FImsvc_recommended_pragmas.h \ -DHAVE_CONFIG_H \ -DLOCALEDIR=\"?\" \ -I$(GIMPTOP) -I. -I$(PLUGINDIR) \ $(EXTRACFLAGS) \ $(GTK2_CFLAGS) $(INTL_CFLAGS) LDFLAGS = /link /subsystem:console /machine:ix86 $(LINKDEBUG) /NODEFAULTLIB:LIBC !IFDEF PLUGIN # This part is used when building individual plug-ins all : $(PLUGIN).exe install : all $(INSTALL) $(PLUGIN).exe $(BIN) !IFNDEF OBJECTS OBJECTS = $(PLUGIN).obj !ENDIF !IFDEF HAVE_RESOURCE # We have our own resource file (just an icon, usually) RESOURCE = $(PLUGIN).res !ELSE # Use the Wilber icon otherwise. If gimp.exe eventually gets more resources, # this will have to be changed. RESOURCE = ..\..\app\gimp.res !ENDIF $(PLUGIN).exe : $(EXTRA_DEPS) $(OBJECTS) $(RESOURCE) $(CC) $(CFLAGS) -Fe$(PLUGIN).exe $(OBJECTS) $(RESOURCE) \ ..\..\libgimp\gimp-$(GIMP_VER).lib ..\..\libgimp\gimpui-$(GIMP_VER).lib \ ..\..\libgimpbase\gimpbase-$(GIMP_VER).lib \ ..\..\libgimpcolor\gimpcolor-$(GIMP_VER).lib \ ..\..\libgimpconfig\gimpconfig-$(GIMP_VER).lib \ ..\..\libgimpmath\gimpmath-$(GIMP_VER).lib \ ..\..\libgimpwidgets\gimpwidgets-$(GIMP_VER).lib \ $(GLIB_LIBS) $(GTK2_LIBS) $(INTL_LIBS) $(EXTRALIBS) $(LDFLAGS) $(PLUGIN).res : $(PLUGIN).rc rc -r -fo $(PLUGIN).res $(PLUGIN).rc !ENDIF !IFDEF LIBRARY # This part is used when building a library all : $(LIBRARY).lib install : all !IFNDEF OBJECTS OBJECTS = $(LIBRARY).obj !ENDIF $(LIBRARY).lib : $(OBJECTS) lib /out:$(LIBRARY).lib $(OBJECTS) !ENDIF !IFDEF MODULE # This part is used when building a module # Allow building libraries with specific extensions !IFNDEF MODULE_EXT MODULE_EXT = dll !ELSE EXTRA_EXPORT = /export:init$(MODULE) !ENDIF all : $(MODULE).$(MODULE_EXT) install : all !IFNDEF OBJECTS OBJECTS = $(MODULE).obj !ENDIF $(MODULE).$(MODULE_EXT) : $(OBJECTS) $(CC) $(CFLAGS) -LD -Fe$@ $(OBJECTS) $(LDFLAGS) $(EXTRALIBS) \ $(GIMPTOP)\libgimp\gimp-$(GIMP_VER).lib \ $(GIMPTOP)\libgimp\gimpui-$(GIMP_VER).lib \ $(GIMPTOP)\libgimpcolor\gimpcolor-$(GIMP_VER).lib \ $(GIMPTOP)\libgimpbase\gimpbase-$(GIMP_VER).lib \ $(GIMPTOP)\libgimpwidgets\gimpwidgets-$(GIMP_VER).lib \ $(GLIB_LIBS) $(GTK2_LIBS) $(INTL_LIBS) $(EXTRA_EXPORT) !ENDIF .c.obj : $(CC) $(CFLAGS) -c $< clean :: erase *.obj erase *.lib erase *.exp erase *.exe erase *.pdb erase *.ilk !ENDIF