# files in source that are needed PACKAGE = efm-test VERSION = 0.0.0 SRCS = \ viewer.c menus.c ipc.c HEADERS = \ viewer.h menus.h DATA = EXTRAS = BUILD = \ LIB_DIRS = \ -L/usr/local/lib -L/usr/X11R6/lib -L/usr/X11/lib -L/usr/dt/lib LIBS = \ `gtk-config --libs` -lgdbm -lgdk_imlib CFLAGS = \ -O -g -D_GNU_SOURCE $(DEVFLAGS) #CFLAGS = \ # -O -g -W -Wall -Wno-unused -pedantic -pedantic-errors -ansi -D_GNU_SOURCE OPTFLAGS = \ -O6 -mpentium -mcpu=pentium -march=pentium -ffast-math -D_GNU_SOURCE INCLUDES = \ `gtk-config --cflags` -I.. BIN = e16keyedit # configurable stuff BINARY_DESTINATION = /usr/local/enlightenment/bin DATA_DESTINATION = /usr/local/enlightenment/share # commands to do things INSTALL = install MKDIR = mkdir RM = rm -f RMRF = rm -rf TAR = tar GZIP = gzip CD = cd MAKE = make STRIP = strip SED = sed MAKEDEP = gcc -MM $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDES) $(EXTRA_INCLUDES) #MAKEDEP = makedepend -f- -s'\# CUT' -- -Y $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDES) $(EXTRA_INCLUDES) -- # piece together variables OBJS = $(SRCS:.c=.o) DIST = $(PACKAGE)-$(VERSION) BLD = Makefile $(BUILD) FILES = $(SRCS) $(HEADERS) $(DATA) $(BLD) $(EXTRAS) all: e16keyedit # show help help: @echo @echo # @echo "To build and install type:" # @echo " make [options] install" @echo "To only build the binaries:" @echo " make [options] e16keyedit" @echo @echo "Options for building (zero or more of the following):" @echo " BINARY_DESTINATION=/path/to/binary/dir [default="$(BINARY_DESTINATION)"]" @echo " DATA_DESTINATION=/path/to/data/dir [default="$(DATA_DESTINATION)"]" @echo " CFLAGS=\"flags for compiler\" [default="$(CFLAGS)"]" @echo " INCLUDES=\"include directiors compiler\" [default="$(INCLUDES)"]" @echo " EXTRA_CFLAGS=\"extra flags for compiler\" [default="$(EXTRA_CFLAGS)"]" @echo " EXTRA_INCLUDES=\"extra include directiors compiler\" [default="$(EXTRA_INCLUDES)"]" @echo " LIBS=\"libraries to link to\" [default="$(LIBS)"]" @echo " LIB_DIRS=\"directories to find libraries\" [default="$(LIB_DIRS)"]" @echo " EXTRA_LIBS=\"extra libraries to link to\" [default="$(EXTRA_LIBS)"]" @echo " EXTRA_LIB_DIRS=\"extra directories to find libraries\" [default="$(EXTRA_LIB_DIRS)"]" @echo @echo bigcompile: $(CC) $(SRCS) -o e16keyedit $(OPTFLAGS) $(EXTRA_CFLAGS) $(INCLUDES) $(EXTRA_INCLUDES) $(LIBS) $(EXTRA_LIBS) $(LIB_DIRS) $(EXTRA_LIB_DIRS) $(STRIP) ./e16keyedit optimized: bigcompile # rules for source e16keyedit: $(OBJS) $(RM) $@ $(CC) -o $@ $(OBJS) $(LIBS) $(EXTRA_LIBS) $(LIB_DIRS) $(EXTRA_LIB_DIRS) .c.o: $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDES) $(EXTRA_INCLUDES) -c $< -o $@ # clean out build crap clean:: $(RMRF) $(BIN) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut $(DIST) $(DIST).tar $(DIST).tar.gz ./=build ./=install "#"* # how to install install:: e @echo @echo @echo "You don't really want to do this. it doesn't work yet." @echo @echo # for I in $(BIN); do $(INSTALL) -D -m 0775 $$I $(prefix)$(BINARY_DESTINATION)/$$I; done # for I in $(DATA); do $(INSTALL) -D -m 0664 $$I $(prefix)$(DATA_DESTINATION)/$$I; done # how to make a dist tarball dist:: $(RMRF) $(DIST) $(DIST).tar $(DIST).tar.gz $(MKDIR) $(DIST) for I in $(FILES); do \ if [ -x $$I ]; then $(INSTALL) -D -m 0775 $$I $(DIST)/$$I; else \ if [ -f $$I ]; then $(INSTALL) -D -m 0664 $$I $(DIST)/$$I; else \ if [ -d $$I ]; then $(INSTALL) -D -m 0555 -d $$I $(DIST)/$$I; fi; fi; fi; \ done $(TAR) -cf $(DIST).tar $(DIST) $(GZIP) $(DIST).tar $(RMRF) $(DIST) # how to check the dist distcheck: dist $(RMRF) ./=build ./=install $(MKDIR) ./=build $(MKDIR) ./=install ($(CD) ./=build; $(GZIP) -d -c ../$(DIST).tar.gz | $(TAR) xvf -;) ($(CD) ./=build/$(PACKAGE)-$(VERSION); \ $(MAKE) prefix=../../=install install) $(RMRF) ./=build ./=install $(DIST).tar.gz # Update dependency info dep depend: $(SED) '/^# CUT/,$$d' Makefile > Makefile.tmp echo "# CUT" >> Makefile.tmp $(MAKEDEP) $(SRCS) >> Makefile.tmp && mv Makefile.tmp Makefile # File dependencies. Do not remove the next line. sed needs it. # CUT batch.o: batch.c batch.h events.h x.h ev_filter.h str.h mem.h util.h \ file.h db.o: db.c db.h mem.h util.h str.h efm_view.o: efm_view.c x.h str.h mem.h util.h file.h events.h ev_x.h \ ev_filter.h efm_view.h db.h im_engine.h batch.h glob.h ev_dispatch.o: ev_dispatch.c ev_dispatch.h events.h x.h str.h mem.h \ util.h ev_filter.o: ev_filter.c ev_filter.h events.h x.h str.h mem.h util.h ev_ipc.o: ev_ipc.c events.h x.h ev_ipc.h str.h mem.h util.h file.h ev_session.o: ev_session.c str.h mem.h util.h ev_signal.o: ev_signal.c events.h x.h ev_signal.h str.h mem.h util.h ev_x.o: ev_x.c events.h x.h ev_x.h str.h mem.h util.h events.o: events.c events.h x.h ev_filter.h str.h mem.h util.h file.o: file.c file.h mem.h str.h events.h x.h db.h glob.h ev_ipc.h \ jobs.h util.h glob.o: glob.c str.h glob.h im_engine.o: im_engine.c util.h mem.h str.h x.h events.h ev_x.h \ im_engine.h db.h jobs.o: jobs.c jobs.h main.o: main.c events.h x.h ev_signal.h ev_x.h ev_ipc.h ev_filter.h \ batch.h efm_view.h file.h db.h im_engine.h mem.h util.h str.h mem.o: mem.c mem.h str.o: str.c str.h mem.h util.o: util.c util.h mem.h str.h x.o: x.c x.h mem.h str.h