1 # makefile for Scalos Menu preferences
6 #############################################################
8 SUBDIRMAKE
= $(MAKE
) -s
-C
10 #############################################################
12 .PHONY
: clean install nodebug
14 #############################################################
19 CFLAGS
= nostkchk nochkabort strmer dbg
=f nover streq data
=far \
20 define SCALOSLOCALE
=$(SCALOS_LOCALE
) \
21 idlen
=64 idir
=//include
23 AFLAGS
= noexe m
=68020 opt
=NRQB i
=sc
:Assembler_Headers
/
25 LDFLAGS
= quiet batch noicons sd
26 LDLIBS
= LIB
:mempools.lib LIB
:scm.lib LIB
:sc.lib LIB
:debug.lib LIB
:amiga.lib
32 SCALOS_LOCALE
= $(OBJDIR
)/ScalosMenu_locale.h
34 #############################################################
38 #############################################################
41 @
[ -d
$(OBJDIR
) ] || mkdir
$(OBJDIR
) > /dev
/null
2>&1
43 OBJS
= $(ASRCS
:%.asm
=$(OBJDIR
)/%.o
) $(CSRCS
:%.c
=$(OBJDIR
)/%.o
)
45 #############################################################
47 NAME
= .bin_os3
/Scalos_Menu
48 NAMEDBG
= $(NAME
).debug
49 DESTTOOL
= Scalos
:Prefs
/Scalos Menu
50 CAT_FILE
= Scalos
/ScalosMenu.catalog
51 CATCOMPHEADER
= $(SCALOS_LOCALE
)
52 DESTCAT
= Locale
:Catalogs
61 ALLCATS
= $(foreach cat
,$(CATS
),catalogs
/$(cat
)/$(CAT_FILE
))
63 #############################################################
65 # The default target (all) and what to really build
66 all: $(NAME
) $(NAMEDBG
) \
72 #############################################################
74 $(OBJDIR
)/Menu.o
: Menu.c
$(SCALOS_LOCALE
)
76 $(CATCOMPHEADER
) : ScalosMenu.cd
77 @printf
'\033[32mMake CatComp header: \033[31m\033[1m$@ \033[32mfrom \033[31m$<\033[0m\n'
78 $(FLEXCAT
) $(subst ..
/,/,$<) $@
=$(SDPATH
)/CatComp_h.sd
80 #############################################################
82 # CLI command used when linking the final executables
84 @printf
'\033[32mLink: \033[31m\033[1m$@\033[0m\n'
85 @
$(LD
) FROM
$(CSTARTUP
) $(OBJS
) TO
$@ LIB
$(LDLIBS
) $(LDFLAGS
) STRIPDEBUG
88 @printf
'\033[32mLink: \033[31m\033[1m$@\033[0m\n'
89 @
$(LD
) FROM
$(CSTARTUP
) $(OBJS
) TO
$@ LIB
$(LDLIBS
) $(LDFLAGS
) ADDSYM
91 #############################################################
93 # commands generated a catalog (.catalog) from a catalog translation (.ct) file.
95 $(CATCOMP
) $*.cd
$< CATALOG
$*.catalog VB
=1
98 @printf
'\033[32mCompile: \033[31m\033[1m$<\033[0m\n'
99 @
$(CC
) $(CFLAGS
) $*.c objectname
$@
102 @printf
'\033[32mAssemble: \033[31m\033[1m$<\033[0m\n'
103 @
$(AS
) $(AFLAGS
) $< to
$@
105 $(OBJDIR
)/%.o
: %.asm
106 @printf
'\033[32mAssemble: \033[31m\033[1m$<\033[0m\n'
107 @
$(AS
) $(AFLAGS
) $< to
$@
109 #############################################################
111 # copy all generated file to their final destinations
113 @printf
'\033[32mInstall: \033[31m\033[1m$(NAME)\033[0m\n'
114 @copy
$(NAME
) "$(DESTTOOL)"
115 @printf
'\033[32mInstall: \033[31m\033[1m$(CAT_FILE)\033[0m\n'
116 -@
$(foreach cat
,$(CATS
),copy
"catalogs/$(cat)/$(CAT_FILE)" "$(DESTCAT)/$(cat)/Scalos" clone
;)
118 #############################################################
120 # make all Scalos preferences .catalogs
122 -@
$(foreach cat
,$(CATS
),$(SUBDIRMAKE
) catalogs
/$(cat
)/Scalos
;)
124 #############################################################
126 # A little something to clean it all up
128 @printf
'\033[32mCleanup: \033[31m\033[1m'
129 -@delete
$(NAME
) $(NAMEDBG
) $(OBJS
) $(CATCOMPHEADER
) $(ALLCATS
)
132 #############################################################
135 -@
$(SPLAT
) -s
-o
"d2(" "d1(" "#?.c"
137 #############################################################