# Submakefile for ctwm # Do NOT use this description file directly. Instead, just type MMS, # and this one will be included. OBJS = $(GOAL)GRAM.$(EXT)OBJ,$(GOAL)LEX.$(EXT)OBJ,$(GOAL)DEFTWMRC.$(EXT)OBJ,- $(GOAL)ADD_WINDOW.$(EXT)OBJ,$(GOAL)GC.$(EXT)OBJ,$(GOAL)LIST.$(EXT)OBJ,- $(GOAL)CTWM.$(EXT)OBJ,$(GOAL)PARSE.$(EXT)OBJ,$(GOAL)MENUS.$(EXT)OBJ,- $(GOAL)EVENTS.$(EXT)OBJ,$(GOAL)RESIZE.$(EXT)OBJ,$(GOAL)UTIL.$(EXT)OBJ,- $(GOAL)VERSION.$(EXT)OBJ,$(GOAL)ICONMGR.$(EXT)OBJ,- $(GOAL)CURSOR.$(EXT)OBJ,$(GOAL)ICONS.$(EXT)OBJ,- $(GOAL)WORKMGR.$(EXT)OBJ,$(GOAL)WINDOWBOX.$(EXT)OBJ,- $(GOAL)CLICKTOFOCUS.$(EXT)OBJ,$(GOAL)VSCREEN.$(EXT)OBJ,- $(GOAL)SESSION.$(EXT)OBJ$(GNOMEOBJ)$(SOUNDOBJ),- $(GOAL)VMS_CMD_SERVICES.$(EXT)OBJ,- $(GOAL)LNM.$(EXT)OBJ,$(GOAL)ALLOCA.$(EXT)OBJ .FIRST : DEFINE X11XMU $(X11XMU) DEFINE X11SM $(X11SM) .SUFFIXES : .$(EXT)OBJ .C .C.$(EXT)OBJ : $(CC) $(CFLAGS) $< /OBJECT=$@ $(GOAL)CTWM.$(EXE_EXT)EXE : $(OBJS) $(OPTION) VERSION.OPT $(LD) $(LDFLAGS) /exec=$*.$(EXE_EXT)exe $(OBJS),VERSION.OPT/OPT - $(OPTIONCMD) LEX.C : LEX.L @ WRITE SYS$ERROR "****" @ WRITE SYS$ERROR "**** Ignore %DCL-W-IVVERB" @ WRITE SYS$ERROR "****" - FLEX LEX.L @ WRITE SYS$ERROR "**** You can open your eyes now" __RESULT = F$SEARCH("LEXYY.C") IF __RESULT .NES. "" THEN RENAME LEXYY.C LEX.C/LOG IF __RESULT .EQS. "" THEN COPY LEX.C_VMS LEX.C/LOG GRAM.C GRAM.H : GRAM.Y @ WRITE SYS$ERROR "****" @ WRITE SYS$ERROR "**** Ignore %DCL-W-IVVERB" @ WRITE SYS$ERROR "****" - BISON /DEF/YACC GRAM.Y @ WRITE SYS$ERROR "**** You can open your eyes now" __RESULT = F$SEARCH("Y_TAB.C") IF __RESULT .NES. "" THEN RENAME Y_TAB.C GRAM.C/LOG IF __RESULT .NES. "" THEN RENAME Y_TAB.H GRAM.H/LOG IF __RESULT .EQS. "" THEN COPY GRAM.C_VMS GRAM.C/LOG IF __RESULT .EQS. "" THEN COPY GRAM.H_VMS GRAM.H/LOG DEFTWMRC.C : SYSTEM.CTWMRC GENDEFTWMRC.COM @GENDEFTWMRC.COM $(OPTION) : DESCRIP.MMS DESCRIP.SUBMMS if "$(CLIB)" .nes. "" then write foo "$(CLIB)" __result := $(XPMLIB).OLB if f$search(__result) .eqs. "" then - __result := $(XPMLIB).OLB if "$(EXT)" .eqs. "VAX_VAXC_" .and. - f$search("$(XPMLIB).OLB_VAXC") .nes. "" then - __result := $(XPMLIB).OLB_VAXC if "$(EXT)" .eqs. "VAX_" .and. - f$search("$(XPMLIB).OLB_DECC") .nes. "" then - __result := $(XPMLIB).OLB_DECC if "$(EXT)" .eqs. "AXP_" .and. - f$search("$(XPMLIB).OLB_AXP") .nes. "" then - __result := $(XPMLIB).OLB_AXP @ !The following will cause a proper error message, says @ !Michael Lemke. if f$search(__result) .eqs. "" then - libr/list=nl: '__result' open/write foo $(OPTION) write foo __result,"/LIB" write foo "$(X11XMULIB)" write foo "$(X11SMLIB)/SHARE" write foo "SYS$SHARE:DECW$XTSHR/SHARE" write foo "SYS$SHARE:DECW$XEXTLIBSHR/SHARE" write foo "SYS$SHARE:DECW$XLIBSHR/SHARE" write foo "SYS$SHARE:DECW$ICELIB/SHARE" close foo xwdfile.h : descrip.mms @ ! This is a pure hack to circumvent a bug in the file provided by @ ! Digital. This is so ugly we don't want the user to see what @ ! really happens. @ ! But perhaps we'll give him just a little hint, huh? :-) @ write sys$output "*** Doing some hackery with XWDFile.h... Sit tight" @ __result := NO @ if f$search("DECW$UTILS:XWDFILE.H") .nes. "" then __result := YES @ if __result then open/write foo xwdfile.tpu_tmp @ if __result then write foo - "input_file:=GET_INFO(COMMAND_LINE, ""file_name"");" @ if __result then write foo - "main_buffer := CREATE_BUFFER (""main"", input_file);" @ if __result then write foo - "position (beginning_of (main_buffer));" @ if __result then write foo - "loop" @ if __result then write foo - " r := search_quietly (""""""copyright.h"""""", FORWARD);" @ if __result then write foo - " EXITIF r = 0;" @ if __result then write foo - " if beginning_of(r) <> end_of(r)" @ if __result then write foo - " then" @ if __result then write foo - " erase (r);" @ if __result then write foo - " position (r);" @ if __result then write foo - " copy_text ("""");" @ if __result then write foo - " endif;" @ if __result then write foo - " position (end_of (r));" @ if __result then write foo - "endloop;" @ if __result then write foo - "position (beginning_of (main_buffer));" @ if __result then write foo - "loop" @ if __result then write foo - " r := search_quietly (LINE_BEGIN + ""struct {"", FORWARD);" @ if __result then write foo - " EXITIF r = 0;" @ if __result then write foo - " if beginning_of(r) <> end_of(r)" @ if __result then write foo - " then" @ if __result then write foo - " erase (r);" @ if __result then write foo - " position (r);" @ if __result then write foo - " copy_text (""typedef struct {"");" @ if __result then write foo - " endif;" @ if __result then write foo - " position (end_of (r));" @ if __result then write foo - "endloop;" @ if __result then write foo - "write_file(main_buffer, get_info (command_line, ""output_file""));" @ if __result then write foo "quit;" @ if __result then close foo @ if __result then save_mesg = f$environment("MESSAGE") @ !if __result then - ! set message/nofacility/noidentification/noseverity/notext @ if __result then edit/tpu/nosection/nodisplay - /command=xwdfile.tpu_tmp/out=xwdfile.h - decw$utils:xwdfile.h @ if __result then delete xwdfile.tpu_tmp;* @ if __result then set message'save_mesg' @ if __result then write sys$output "*** There, done." ADD_WINDOW.$(EXT)OBJ : ADD_WINDOW.C - TWM.H ADD_WINDOW.H UTIL.H RESIZE.H PARSE.H GRAM.H LIST.H EVENTS.H - MENUS.H SCREEN.H ICONS.H ICONMGR.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H CLICKTOFOCUS.$(EXT)OBJ : CLICKTOFOCUS.C - TWM.H SCREEN.H UTIL.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H CTWM.$(EXT)OBJ : CTWM.C - TWM.H ADD_WINDOW.H GC.H PARSE.H VERSION.H MENUS.H EVENTS.H UTIL.H - GRAM.H SCREEN.H ICONS.H ICONMGR.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H CURSOR.$(EXT)OBJ : CURSOR.C - TWM.H SCREEN.H UTIL.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H DEFTWMRC.$(EXT)OBJ : DEFTWMRC.C EVENTS.$(EXT)OBJ : EVENTS.C - TWM.H ADD_WINDOW.H MENUS.H EVENTS.H RESIZE.H PARSE.H GRAM.H UTIL.H - SCREEN.H ICONS.H ICONMGR.H VERSION.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H GC.$(EXT)OBJ : GC.C - TWM.H UTIL.H GRAM.H SCREEN.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H GRAM.$(EXT)OBJ : GRAM.C - TWM.H MENUS.H ICONS.H ADD_WINDOW.H LIST.H UTIL.H SCREEN.H PARSE.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H ICONMGR.$(EXT)OBJ : ICONMGR.C - TWM.H UTIL.H PARSE.H SCREEN.H RESIZE.H ADD_WINDOW.H SICONIFY.BM - LIST.H MENUS.H ICONMGR.H WORKMGR.H ICONS.$(EXT)OBJ : ICONS.C - TWM.H SCREEN.H ICONS.H GRAM.H LIST.H PARSE.H UTIL.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H LEX.$(EXT)OBJ : LEX.C - GRAM.H PARSE.H LIST.$(EXT)OBJ : LIST.C - TWM.H SCREEN.H GRAM.H UTIL.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H MENUS.$(EXT)OBJ : MENUS.C - TWM.H GC.H MENUS.H RESIZE.H EVENTS.H UTIL.H PARSE.H GRAM.H SCREEN.H - ICONS.H VMS_CMD_SERVICES.H VERSION.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H PARSE.$(EXT)OBJ : PARSE.C - TWM.H SCREEN.H MENUS.H UTIL.H GRAM.H PARSE.H VERSION.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H RESIZE.$(EXT)OBJ : RESIZE.C - TWM.H PARSE.H UTIL.H RESIZE.H ADD_WINDOW.H SCREEN.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H UTIL.$(EXT)OBJ : UTIL.C - TWM.H UTIL.H GRAM.H SCREEN.H ICONS.H SICONIFY.BM - LIST.H MENUS.H ICONMGR.H WORKMGR.H $(DEP_XWDFILE) VERSION.$(EXT)OBJ : VERSION.C WINDOWBOX.$(EXT)OBJ : WINDOWBOX.C - TWM.H SCREEN.H ADD_WINDOW.H RESIZE.H WINDOWBOX.H - TYPES.H LIST.H - ICONMGR.H - GRAM.H - MENUS.H VSCREEN.H WORKMGR.H WORKMGR.$(EXT)OBJ : WORKMGR.C - TWM.H UTIL.H PARSE.H SCREEN.H ICONS.H RESIZE.H ADD_WINDOW.H EVENTS.H - GRAM.H - LIST.H MENUS.H ICONMGR.H WORKMGR.H VMS_CMD_SERVICES.$(EXT)OBJ : - VMS_CMD_SERVICES.C VMS_CMD_SERVICES.H LNM.H LNM.$(EXT)OBJ : LNM.C ALLOCA.$(EXT)OBJ : ALLOCA.C