.c.o:
	sc $(OPTIMIZE) $(CFLAGS) $(DEBUG) define=CPU_$(CPU) cpu=$(CPU) gst=$(GST) gstimm objname=$*.o $*.c

.c.oo:
	sc $(OPTIMIZE) $(CFLAGS) $(DEBUG) define=CPU_$(CPU) cpu=any gst=$(GST) gstimm objname=$*.oo $*.c

.c.ooo:
	sc $(CFLAGS) $(DEBUG) define=CPU_$(CPU) cpu=$(CPU) gst=$(GST) gstimm objname=$*.ooo $*.c

.asm.o:
	asm -D -DCPU_$(CPU) -u $*.asm

#CFLAGS		= streq strmerge nostkchk idlen=65 nover memsize=huge utillib
CFLAGS		= streq strmerge nostkchk idlen=65 nover memsize=huge
#LFLAGS		= define __CXM33=__UCXM33 define __CXD33=__UCXD33 \
#		  define __CXM22=__UCXM22 define __CXD22=__UCXD22 \
LFLAGS		= sc sd nd noicons

OPTIMIZE	= optimize nooptinlocal opttime
CPU		= 68030
#CPU		= any
DEBUG		= debug=line
LIBS		= lib:amiga.lib lib:sc.lib lib:debug.lib
GST		= gtlayout.gst

all:		gtlayout.gst gtlayout.library

OBJS		= gtlayout_romtag.o gtlayout_data.o gtlayout_lib.oo \
		  LTP_AddGadgets.o LTP_AddHistory.o LTP_AdjustItemPosition.o \
		  LTP_AdjustMenuPosition.o LTP_Atol.o LTP_BackFillRoutine.o \
		  LTP_BlinkButton.o LTP_Clone.o LTP_ConvertNum.o \
		  LTP_CorrectItemList.o LTP_CreateGadgets.o LTP_CreateIncrementer.o \
		  LTP_CreateMenuTagList.o LTP_CreateMenuTemplate.o LTP_CreateObjectNode.o \
		  LTP_CreatePicker.o LTP_DefaultEditRoutine.o LTP_DefaultHistoryHook.o \
		  LTP_Delay.o LTP_DeleteObjectNode.o LTP_DetermineSize.o \
		  LTP_Draw.o LTP_DrawBackFore.o LTP_DrawBox.o \
		  LTP_DrawGauge.o LTP_DrawGroup.o LTP_DrawIncrementer.o \
		  LTP_DrawPalette.o LTP_DrawPicker.o LTP_DrawPrevNext.o \
		  LTP_DrawTapeButton.o LTP_FillMenu.o LTP_Find.o \
		  LTP_FixExtraLabel.o LTP_FracEditRoutine.o LTP_GetCommandWidth.o \
		  LTP_GetDisplayClip.o LTP_GlyphSetup.o LTP_HandleHistory.o \
		  LTP_HexEditRoutine.o LTP_ImageClass.o LTP_InitIText.o \
		  LTP_LayoutGadgets.o LTP_LayoutGroup.o LTP_LayoutMenu.o \
		  LTP_LevelGadget.o LTP_LevelImage.o LTP_MakeItem.o \
		  LTP_MakeMenu.o LTP_Memory.o LTP_MoveToWindow.o \
		  LTP_NewMenu.o LTP_PasswordEditRoutine.o LTP_PlaceGroups.o \
		  LTP_PrintBoxLine.o LTP_PrintLabel.o LTP_RenderArrow.o \
		  LTP_RenderCircle.o LTP_Rescale.o LTP_ResetGroups.o \
		  LTP_RPortAttrs.o LTP_SearchKeys.o LTP_SelectKeys.o \
		  LTP_ShrinkMenu.o LTP_SizeDimensions.o LTP_Spread.o \
		  LTP_SPrintf.o LTP_Storage.o \
		  LT_Activate.o LT_Build.o LT_CreateHandle.o \
		  LT_DeleteHandle.o LT_DisposeMenu.o LT_FindMenuCommand.o \
		  LT_Fixed.o LT_GetAttributes.o LT_GetCode.o \
		  LT_GetMenuItem.o LT_HandleInput.o LT_IMsg.o \
		  LT_InitExit.o LT_LabelWidth.o LT_LayoutMenus.o \
		  LT_LevelWidth.o LT_LockWindow.o LT_MenuControlTagList.o \
		  LT_New.o LT_NewMenuTagList.o LT_NewMenuTemplate.ooo \
		  LT_PressButton.o LT_Rebuild.o LT_Refresh.o \
		  LT_SetAttributes.o LT_ShowWindow.o LT_UpdateStrings.o

gtlayout.library:	$(OBJS)
			slink with t:gtlayout.with <<!(t:gtlayout.with)
				from $(OBJS)
				to $@
				lib $(LIBS)
				$(LFLAGS)
			<

gtlayout_romtag.o:	gtlayout_romtag.asm gtlayout.library_rev.i

gtlayout.gst:		gtlayout_preinclude.c gtlayout_includes.h gtlayout_global.h \
			gtlayout_defines.h gtlayout_data.h gtlayout_libprotos.h
			gst $@ unload
			sc noobjname makegst=$@ gtlayout_preinclude.c
			gst $@
