#******************************************************************************* # Copyright (c) 2010, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # IBM Corporation - initial API and implementation #******************************************************************************* # Makefile for creating SWT libraries for Linux GTK include make_common.mak SWT_VERSION=$(maj_ver)$(min_ver) # Define the various shared libraries to be build. WS_PREFIX = gtk SWT_PREFIX = swt CDE_PREFIX = swt-cde AWT_PREFIX = swt-awt SWTPI_PREFIX = swt-pi CAIRO_PREFIX = swt-cairo ATK_PREFIX = swt-atk GNOME_PREFIX = swt-gnome GLX_PREFIX = swt-glx SWT_LIB = lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a CDE_LIB = lib$(CDE_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a AWT_LIB = lib$(AWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a SWTPI_LIB = lib$(SWTPI_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a CAIRO_LIB = lib$(CAIRO_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a ATK_LIB = lib$(ATK_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a GNOME_LIB = lib$(GNOME_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a GLX_LIB = lib$(GLX_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a CAIROCFLAGS = `pkg-config --cflags cairo` CAIROLIBS = `pkg-config --libs cairo` -lcairo GTKCFLAGS = `pkg-config --cflags gtk+-2.0` GTKLIBS = `pkg-config --libs gtk+-2.0 gthread-2.0` $(XLIB64) -L/usr/X11R6/lib -lXtst -lX11 CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc AWT_LFLAGS = -shared -s ${SWT_LFLAGS} AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt -lX11 ATKCFLAGS = `pkg-config --cflags atk gtk+-2.0` ATKLIBS = `pkg-config --libs atk gtk+-2.0` GNOMECFLAGS = `pkg-config --cflags gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0` GNOMELIBS = `pkg-config --libs-only-L gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0` -lgnomevfs-2 -lgnome-2 -lgnomeui-2 GLXLIBS = -L/usr/X11R6/lib -lGL -lGLU -lm # Uncomment for Native Stats tool #NATIVE_STATS = -DNATIVE_STATS SWT_OBJECTS = swt.o c.o c_stats.o callback.o CDE_OBJECTS = swt.o cde.o cde_structs.o cde_stats.o AWT_OBJECTS = swt_awt.o SWTPI_OBJECTS = swt.o os.o os_structs.o os_custom.o os_stats.o CAIRO_OBJECTS = swt.o cairo.o cairo_structs.o cairo_stats.o ATK_OBJECTS = swt.o atk.o atk_structs.o atk_custom.o atk_stats.o GNOME_OBJECTS = swt.o gnome.o gnome_structs.o gnome_stats.o GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o CFLAGS = -O -Wall \ -DSWT_VERSION=$(SWT_VERSION) \ $(NATIVE_STATS) \ -DAIX -DGTK \ -I$(JAVA_HOME)/include \ ${SWT_PTR_CFLAGS} LFLAGS = -shared -s ${SWT_LFLAGS} all: make_swt make_atk #make_glx # # SWT libs # make_swt: $(SWT_LIB) $(SWTPI_LIB) $(SWT_LIB): $(SWT_OBJECTS) $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS) callback.o: callback.c callback.h $(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c $(SWTPI_LIB): $(SWTPI_OBJECTS) $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS) swt.o: swt.c swt.h $(CC) $(CFLAGS) -c swt.c os.o: os.c os.h swt.h os_custom.h $(CC) $(CFLAGS) $(GTKCFLAGS) -c os.c os_structs.o: os_structs.c os_structs.h os.h swt.h $(CC) $(CFLAGS) $(GTKCFLAGS) -c os_structs.c os_custom.o: os_custom.c os_structs.h os.h swt.h $(CC) $(CFLAGS) $(GTKCFLAGS) -c os_custom.c os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h $(CC) $(CFLAGS) $(GTKCFLAGS) -c os_stats.c # # CAIRO libs # make_cairo: $(CAIRO_LIB) $(CAIRO_LIB): $(CAIRO_OBJECTS) $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS) cairo.o: cairo.c cairo.h swt.h $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c cairo_structs.o: cairo_structs.c cairo_structs.h cairo.h swt.h $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_structs.c cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_stats.c # # CDE lib # make_cde: $(CDE_LIB) $(CDE_LIB): $(CDE_OBJECTS) $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS) # # AWT lib # make_awt:$(AWT_LIB) $(AWT_LIB): $(AWT_OBJECTS) $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS) # # Atk lib # make_atk: $(ATK_LIB) $(ATK_LIB): $(ATK_OBJECTS) $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS) atk.o: atk.c atk.h $(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c atk_structs.o: atk_structs.c atk_structs.h atk.h $(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_structs.c atk_custom.o: atk_custom.c atk_structs.h atk.h $(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_custom.c atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h $(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_stats.c # # Gnome lib # make_gnome: $(GNOME_LIB) $(GNOME_LIB): $(GNOME_OBJECTS) $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS) gnome.o: gnome.c $(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c gnome_structs.o: gnome_structs.c $(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome_structs.c gnome_stats.o: gnome_stats.c gnome_stats.h $(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome_stats.c # # GLX lib # make_glx: $(GLX_LIB) $(GLX_LIB): $(GLX_OBJECTS) $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS) glx.o: glx.c $(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c glx_structs.o: glx_structs.c $(CC) $(CFLAGS) $(GLXCFLAGS) -c glx_structs.c glx_stats.o: glx_stats.c glx_stats.h $(CC) $(CFLAGS) $(GLXCFLAGS) -c glx_stats.c # # Install # install: all cp *.a $(OUTPUT_DIR) # # Clean # clean: rm -f *.o *.a