# 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 COMMON1 = AlienMap2 ccanalyze CEL channel_mixer CML_explorer align_layers animationplay animoptimize apply_lens autocrop autostretch_hsv blinds blur borderaverage bumpmap c_astretch cartoon checkerboard color_enhance colorify colortoalpha compose compressor convmatrix csource cubism curve_bend COMMON2 = decompose deinterlace depthmerge despeckle destripe dicom diffraction displace dog edge emboss engrave exchange film flarefx fp fractaltrace COMMON3 = gauss gbr gee gee_zoom gif gifload gih glasstile glob gqbist gradmap grid gtm guillotine header hot illusion iwarp jigsaw laplace lic COMMON4 = mapcolor max_rgb mblur mosaic neon newsprint nlfilt noisify normalize nova oilify papertile pat pcx photocopy pix pixelize plasma png pnm polar postscript psd psd_save psp randomize raw retinex ripple rotate COMMON5 = sample_colorize scatter_hsv screenshot sel_gauss semiflatten sharpen shift sinus smooth_palette snoise sobel softglow sparkle spheredesigner spread struc sunras tga threshold_alpha tiff tile tileit tiler uniteditor unsharp video vinvert vpropagate COMMON6 = warp waves webbrowser whirlpinch winclipboard wind winprint wiredebug xbm xwd zealouscrop NOTNOW = wmf svg # These have own subdirectories each SEPARATE = FractalExplorer Lighting MapObject bmp dbbrowser faxg3 fits flame fp gfig gflare gfli gimpressionist helpbrowser ifscompose imagemap jpeg maze mosaic pagecurl rcm sel2path sgi twain winicon winsnap xjt # 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 psd_save 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\siod nmake -nologo -f ..\..\makefile.msc GIMPTOP=..\..\.. LIBRARY=siod OBJECTS="trace.obj slib.obj sliba.obj regex.obj" $(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-common-plugins TARGET=clean sub-common-plugins : 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) sub-one-common : @cd common @nmake -nologo -f ..\makefile.msc GIMPTOP=..\.. PLUGIN=$(DIR) EXTRA_$(DIR)=1 $(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) # We must handle script-fu separately because of the dash, sigh @cd script-fu @nmake -nologo -f ..\makefile.msc GIMPTOP=..\.. PLUGIN=script-fu EXTRA_script_fu=1 $(TARGET) @cd .. sub-one-separate : cd $(DIR) nmake -nologo -f ..\makefile.msc GIMPTOP=..\.. PLUGIN=$(DIR) EXTRA_$(DIR)=1 $(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. !IFDEF EXTRA_FractalExplorer OBJECTS = \ Dialogs.obj \ FractalExplorer.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 !IFDEF EXTRA_MapObject OBJECTS = \ arcball.obj \ mapobject_apply.obj \ mapobject_image.obj \ mapobject_main.obj \ mapobject_preview.obj \ mapobject_shade.obj \ mapobject_ui.obj OPTIMIZE = !ENDIF !IFDEF EXTRA_bmp OBJECTS = \ bmp.obj \ bmpread.obj \ bmpwrite.obj !ENDIF !IFDEF EXTRA_dbbrowser OBJECTS = \ # gimpprocbox.obj \ gimpprocbrowser.obj \ gimpprocview.obj \ procedure-browser.obj !ENDIF !IFDEF EXTRA_plugindetails OBJECTS = \ gimpprocbox.obj \ gimpprocbrowser.obj \ gimpprocview.obj \ plugin-browser.obj !ENDIF !IFDEF EXTRA_faxg3 OBJECTS = \ faxg3.obj \ g3.obj \ run_tbl.obj !ENDIF !IFDEF EXTRA_fits OBJECTS = \ fits.obj \ fitsrw.obj !ENDIF !IFDEF EXTRA_flame OBJECTS = \ cmap.obj \ flame.obj \ libifs.obj \ rect.obj !ENDIF !IFDEF EXTRA_gfli OBJECTS = \ fli.obj \ gfli.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_logo images/stock-logo.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 !IFDEF EXTRA_ifscompose OBJECTS = \ ifscompose.obj \ ifscompose_storage.obj \ ifscompose_utils.obj !ENDIF !IFDEF EXTRA_imagemap STOCK_VARS = \ stock_arrow images/stock-arrow.png \ 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_link images/stock-link.png \ stock_map_info images/stock-map-info.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-arrow.png \ images/stock-circle.png \ images/stock-coord.png \ images/stock-dimension.png \ images/stock-java.png \ images/stock-link.png \ images/stock-map-info.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 !ENDIF !IFDEF EXTRA_iwarp OPTIMIZE = !ENDIF !IFDEF EXTRA_jpeg EXTRACFLAGS = -I$(JPEG) EXTRALIBS = $(JPEG)\libjpeg.lib OBJECTS = \ gimpexif.obj \ jpeg.obj \ jpeg-exif.obj \ jpeg-icc.obj \ jpeg-load.obj \ jpeg-save.obj !ENDIF !IFDEF EXTRA_maze OBJECTS = \ algorithms.obj \ handy.obj \ maze.obj \ maze_face.obj !ENDIF !IFDEF EXTRA_mpeg EXTRACFLAGS = -I$(MPEG) EXTRALIBS = $(MPEG)\release\libmpeg.lib !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 !IFDEF EXTRA_png EXTRACFLAGS = $(PNG_CFLAGS) EXTRALIBS = $(PNG_LIBS) !ENDIF !IFDEF EXTRA_print OBJECTS = \ print.obj \ print-escp2.obj \ print-pcl.obj \ print-ps.obj \ print-util.obj !ENDIF !IFDEF EXTRA_psp EXTRACFLAGS = $(ZLIB_CFLAGS) EXTRALIBS = $(ZLIB_LIBS) !ENDIF !IFDEF EXTRA_rcm STOCK_VARS = \ rcm_360 images/rcm-360.png \ rcm_a_b images/rcm-a-b.png \ rcm_ccw images/rcm-ccw.png \ rcm_cw images/rcm-cw.png \ STOCK_IMAGES = \ images/rcm-360.png \ images/rcm-a-b.png \ images/rcm-ccw.png \ images/rcm-cw.png \ images/rcm-stock-pixbufs.h: $(STOCK_IMAGES) gdk-pixbuf-csource --rle --build-list $(STOCK_VARS) > images/rcm-stock-pixbufs.h EXTRA_DEPS = images/rcm-stock-pixbufs.h OBJECTS = \ rcm.obj \ rcm_callback.obj \ rcm_dialog.obj \ rcm_gdk.obj \ rcm_misc.obj \ rcm_stock.obj OPTIMIZE = !ENDIF !IFDEF EXTRA_script_fu OBJECTS = \ siod-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 \ ..\dbbrowser\gimpprocbrowser.obj \ ..\dbbrowser\gimpprocbox.obj \ ..\dbbrowser\gimpprocview.obj EXTRALIBS = ..\..\regexrepl\regexrepl.lib siod\siod.lib kernel32.lib wsock32.lib EXTRACFLAGS = -DREGEX_MALLOC HAVE_RESOURCE = YES !ENDIF !IFDEF EXTRA_sel2path OBJECTS = \ curve.obj \ edge.obj \ fit.obj \ math.obj \ pxl-outline.obj \ sel2path.obj \ sel2path_adv_dialog.obj \ spline.obj \ vector.obj !ENDIF !IFDEF EXTRA_sgi OBJECTS = \ sgi.obj \ sgilib.obj !ENDIF !IFDEF EXTRA_svg EXTRACFLAGS = $(RSVG_CFLAGS) EXTRALIBS = $(RSVG_LIBS) !ENDIF !IFDEF EXTRA_tiff EXTRACFLAGS = -I$(TIFF) EXTRALIBS = $(TIFF)\libtiff.lib $(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 gimpressionist.c: logo-pixbuf.h logo-pixbuf.h: logo.png gdk-pixbuf-csource --rle --name=logo_data logo.png > $(@F) 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_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 !IFDEF EXTRA_webbrowser 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 OBJECTS = \ icodialog.obj \ icoload.obj \ icosave.obj \ main.obj !ENDIF !IFDEF EXTRA_winsnap HAVE_RESOURCE = YES EXTRALIBS = user32.lib gdi32.lib !ENDIF !IFDEF EXTRA_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 -G5 -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) !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 !ENDIF all : $(MODULE).$(MODULE_EXT) install : all !IFNDEF OBJECTS OBJECTS = $(MODULE).obj !ENDIF $(MODULE).$(MODULE_EXT) : $(OBJECTS) $(MODULE).def $(CC) $(CFLAGS) -LD -Fe$@ $(OBJECTS) $(LDFLAGS) $(EXTRALIBS) \ ..\..\libgimp\gimp-$(GIMP_VER).lib ..\..\libgimp\gimpui-$(GIMP_VER).lib \ ..\..\libgimpcolor\gimpcolor-$(GIMP_VER).lib \ ..\..\libgimpbase\gimpbase-$(GIMP_VER).lib \ $(GLIB_LIBS) $(GTK2_LIBS) /def:$(MODULE).def !ENDIF .c.obj : $(CC) $(CFLAGS) -c $< clean :: erase *.obj erase *.lib erase *.exp erase *.exe erase *.pdb erase *.ilk !ENDIF